sapui5 - fiori 启动板中的稳定 ID
问题描述
我正在为我的应用程序使用 FlexColumnLayout。
在中间列中,我需要访问 FlexColumnLayout 的开始列的控件。这是问题所在:
由于这是一个不同的视图,我无法使用
this.getView().byId("myId")
我的第一个解决方案是通过提供视图 (XML) ID 来使用稳定的 ID。像这样我可以使用:
sap.ui.getCore().byId("application---viewId--myId")
起初它工作得很好,但现在我将我的应用程序集成到 fiori 启动板中,稳定 ID 的第一部分(“viewId”之前的部分)发生了变化,当我进入生产状态时,它会再次发生变化。
有没有办法在没有 sap.ui.getCore().byId 的情况下访问中间列控件?或者有没有办法动态加载第一部分,所以我在传输时不需要更改我的 ID?
遗憾的是,我不知道如何重现 Launchpad 以进行测试,但对于那些想要测试他们对我的问题的想法的人来说,我的 FlexColumnLayout 就像在 DemoApp 中一样构建:https ://sapui5.hana.ondemand.com/ #/entity/sap.f.FlexibleColumnLayout
解决方案
您必须使用createId()
函数,这将返回您的控件的完整 ID。
this.byId(this.createId("myid"));
推荐阅读
- nginx - 如何在 NGINX 上管理 URL
- c++ - 只接受指向算术类型的迭代器的模板
- android - Android 上的“pkg install mosquitto”由于尝试从 bintray 克隆软件包而出现错误(停机维护)
- excel - 有什么方法可以在 Excel/VBA 中的 Application.OnKey 中嵌入函数或过程?
- excel - 读取 excel 文件并附加以从 azure 数据湖中的 Databricks 中制作一个数据框,而无需特定文件名
- spring - 春季启动中休息控制器的线程问题
- javascript - Knockout JS 如何从第二个视图模型/绑定访问值
- javascript - SyntaxError:无法在模块外部使用导入语句(来自依赖项)
- reactjs - 反应过滤器仍然输出过滤值
- function - 如何在 Loopback4 中集成一个功能?