手机版

当前位置:主页 > 云主机 >

轻量服务器_海豹突击队第二季百度云_试用

时间:2021-09-28 13:47:27|来源:欧普曼云|编辑:欧普曼云|点击:

轻量服务器_海豹突击队第二季百度云_试用

在SAP UI5:i18n for each view上写了一篇文章之后,我发现当使用嵌套视图时,解决方案并没有完全按照预期工作。

如果您使用的是嵌套视图,每个视图仍然有自己的一组独特文本,这些文本完全特定于该视图,对于这些情况,所描述的解决方案仍然有效。但也可能有一些文本是由外部和一个或多个内部视图共享的。能够在外部视图的层次上定义i18n模型中的那些文本,并让嵌套视图的i18n模型拾取和增强外部视图的i18n模型是有意义的。

原始解决方案的问题是在调用外部视图的方法之前调用嵌套视图的onInit()方法。这是有道理的——只有在初始化了部分之后,才能初始化整个系统。但这确实意味着onInit()方法不是初始化i18n模型的正确位置。

请考虑我建议初始化i18n模型的_initI18n()方法中的以下行:

假设此代码作为嵌套视图onInit()的一部分运行。对getModel()的调用将尝试获取已设置的i18n模型,买服务器云,或者获取所有者组件的i18n模型。基本控制器中的getModel()方法就是这样工作的(请参阅我以前的博客文章以查看该代码)。

现在,还没有为视图设置i18n模型,因此将获取所有者组件的i18n模型。但是,淘客推广联盟,将永远找不到外部视图的i18n模型,因为尚未调用外部视图控制器的onInit()(因此,它的_initI18n()也没有被调用过)。

事实证明,这可以通过在onBeforeRendering()方法中调用_initI18n()方法来解决,而不是在onInit()方法中调用。虽然嵌套视图是在初始化外部视图之前初始化的,淘客引流,但对于渲染过程则相反。这是有意义的:在渲染外部视图时,需要渲染其包含的视图。因此,外部视图的onbeforerending()方法将在其嵌套视图的onbeforerending()方法之前调用。(onAfterRendering()则相反:外部视图将在其包含的视图渲染后进行渲染)。

将i18n初始化从onInit()移动到onBeforeRendering()时需要额外考虑一点。原因是视图可能经过多个渲染周期,而onInit()只运行一次。如果有重复的渲染周期,我们不想重新初始化i18n模型,物联网模块,所以我们添加了一个锁,确保i18n模型只初始化一次:

当然,扩展基本控制器时,在重写onbeforerending()方法时,您需要记住调用ascendant的onbeforerending()方法:

希望您喜欢这个附录。如果您认为有更好的方法来处理i18n,请随时分享您的见解。

,靠谱云服务器

Copyright © 2020-2021 深圳市飞博可科技有限公司 版权所有 备案号:粤ICP备17063389号