如何在另一个视图中获取元素的引用ID?例如,我有以下文件结构(mvc)
-view
|-- View1.view.xml
|-- View2.view.xml
-controller
|-- View1.controller.js
|-- View2.controller.js
假设在View2.controller.js
的运行时期间,如何在View1.view.xml
中获取某个元素?
答案 0 :(得分:0)
假设View1.view.xml中元素的ID是“idOfElement”。您可以使用以下语句访问同一应用程序的另一个视图(View2.controller.js)中该元素的引用:
var elementID = sap.ui.getCore().byId("idOfElement");
答案 1 :(得分:-1)
例如,我正在尝试在App.view.xml中获取id为idAppControl
的元素,并且我想在Master.controller.js中访问它
这是我的解决方案:
var ownerId = this.getView()._sOwnerId,
rootId = this.getOwnerComponent().getManifestEntry("sap.ui5").rootView.id,
id = "idAppControl",
realId = ownerId + "---" + rootId + "--idAppControl",
element = sap.ui.getCore().byId(realId);
sOwnerId
是一个私人财产,我找不到更好的方法来获得它。
我的manifest.json
:
"sap.ui5": {
"rootView": {
"viewName": "xxx.view.App",
"type": "XML",
"id": "app" // what I get in rootId
},
}