如何在另一个视图中获取元素的引用ID - UI5

时间:2016-04-10 11:16:43

标签: javascript sapui5

如何在另一个视图中获取元素的引用ID?例如,我有以下文件结构(mvc)

-view
|-- View1.view.xml
|-- View2.view.xml
-controller
|-- View1.controller.js
|-- View2.controller.js

假设在View2.controller.js的运行时期间,如何在View1.view.xml中获取某个元素?

2 个答案:

答案 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
    },
}