Javascript 如何在另一个视图中获取元素的引用id-UI5
如何在另一个视图中获取元素的引用id?例如,我有以下文件结构(mvc) 假设在运行Javascript 如何在另一个视图中获取元素的引用id-UI5,javascript,sapui5,Javascript,Sapui5,如何在另一个视图中获取元素的引用id?例如,我有以下文件结构(mvc) 假设在运行View2.controller.js期间,如何在View1.view.xml中获取特定元素?您可以使用相对导航。不要使用绝对导航,因为如果您从本地html更改为FioriLaunchpad,绝对导航将不再有效 您可能要查看的命令: 控制器 托管对象 现在,您可以导航到OwnerComponent,并将目标视图保存为变量或元素的聚合。您可以使用相对导航。不要使用绝对导航,因为如果您从本地html更改为
View2.controller.js
期间,如何在View1.view.xml
中获取特定元素?您可以使用相对导航。不要使用绝对导航,因为如果您从本地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
是私有财产,我没能找到更好的方法得到它
Mymanifest.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
是私有财产,我没能找到更好的方法得到它
Mymanifest.json
:
"sap.ui5": {
"rootView": {
"viewName": "xxx.view.App",
"type": "XML",
"id": "app" // what I get in rootId
},
}
带有“假设”的问题并不好,往往会被否决。在问题存在的地方给我们提供真实的例子,而不是假设的思维实验。由于您是新手,请查看模型绑定和(全局)事件。它们可能是访问另一个视图控件的另一种选择。带有“假设”的问题并不好,而且往往会被否决。在问题存在的地方给我们提供真实的例子,而不是假设的思维实验。由于您是新手,请查看模型绑定和(全局)事件。它们可以作为访问另一个视图控件的替代方法。