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

Javascript 如何在另一个视图中获取元素的引用id-UI5,javascript,sapui5,Javascript,Sapui5,如何在另一个视图中获取元素的引用id?例如,我有以下文件结构(mvc) 假设在运行View2.controller.js期间,如何在View1.view.xml中获取特定元素?您可以使用相对导航。不要使用绝对导航,因为如果您从本地html更改为FioriLaunchpad,绝对导航将不再有效 您可能要查看的命令: 控制器 托管对象 现在,您可以导航到OwnerComponent,并将目标视图保存为变量或元素的聚合。您可以使用相对导航。不要使用绝对导航,因为如果您从本地html更改为

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

假设在运行
View2.controller.js
期间,如何在
View1.view.xml
中获取特定元素?

您可以使用相对导航。不要使用绝对导航,因为如果您从本地html更改为FioriLaunchpad,绝对导航将不再有效

您可能要查看的命令:

控制器

托管对象

现在,您可以导航到OwnerComponent,并将目标视图保存为变量或元素的聚合。

您可以使用相对导航。不要使用绝对导航,因为如果您从本地html更改为FioriLaunchpad,绝对导航将不再有效

您可能要查看的命令:

控制器

托管对象


现在,您可以导航到OwnerComponent,并将目标视图保存为变量或元素的聚合。

假设View1.View.xml中元素的ID为“idOfElement”。您可以使用以下语句在同一应用程序的另一个视图(View2.controller.js)中访问该元素的引用:

                         var elementID = sap.ui.getCore().byId("idOfElement");

假设View1.view.xml中元素的ID为“idOfElement”。您可以使用以下语句在同一应用程序的另一个视图(View2.controller.js)中访问该元素的引用:

                         var elementID = sap.ui.getCore().byId("idOfElement");

例如,我试图在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
是私有财产,我没能找到更好的方法得到它

My
manifest.json

"sap.ui5": {
    "rootView": {
        "viewName": "xxx.view.App",
        "type": "XML",
        "id": "app" // what I get in rootId
    },
}

例如,我试图在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
是私有财产,我没能找到更好的方法得到它

My
manifest.json

"sap.ui5": {
    "rootView": {
        "viewName": "xxx.view.App",
        "type": "XML",
        "id": "app" // what I get in rootId
    },
}

带有“假设”的问题并不好,往往会被否决。在问题存在的地方给我们提供真实的例子,而不是假设的思维实验。由于您是新手,请查看模型绑定和(全局)事件。它们可能是访问另一个视图控件的另一种选择。带有“假设”的问题并不好,而且往往会被否决。在问题存在的地方给我们提供真实的例子,而不是假设的思维实验。由于您是新手,请查看模型绑定和(全局)事件。它们可以作为访问另一个视图控件的替代方法。