如何在另一个视图中获取元素的引用id-UI5
How to get the reference id of an element in another view - UI5
如何在另一个视图中获取元素的引用id?例如,我有以下文件结构(mvc)
-view
|-- View1.view.xml
|-- View2.view.xml
-controller
|-- View1.controller.js
|-- View2.controller.js
假设在View2.controller.js
运行时,我如何获得View1.view.xml
中的某个元素?
您可以使用相对导航。不要使用绝对导航,因为如果您从本地html更改为FioriLaunchpad,这将不再有效。
您可能想要查看的命令:
控制器
- getOwnerComponent()
- byID
托管对象
- getAggregation()
现在,您可以导航到OwnerComponent,那里将保存您的目标视图,无论是作为变量还是作为元素的聚合。
假设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
是私人财产,我没能找到更好的方法来获得它。
我的manifest.json
:
"sap.ui5": {
"rootView": {
"viewName": "xxx.view.App",
"type": "XML",
"id": "app" // what I get in rootId
},
}
相关文章:
- 点击具有更改元素引用的变量
- 如何使用javascript通过id获取元素引用的数量
- 将jQuery元素引用作为对象属性进行访问
- UIWebView和JavaScript:存储元素引用,然后稍后使用
- 将jquery元素引用传递给vanilla javascript
- 将DOM元素引用从DOM中移除时更改为null引用
- 管理javascript项目中的元素引用
- AngularJS指令中的元素引用会导致内存泄漏吗?
- Webdriverjs没有休眠语句,陈旧的元素引用
- 没有事件在谷歌Chrome从SVG元素引用的使用标签
- 确定哪个元素引用了当前html
- Javascript构建元素引用节点列表
- 为DOM元素引用创建常数时间数据结构
- 为什么我不能将这个元素引用设置为一个变量?
- Backbonejs:将parent's元素引用传递给子视图是一种好的做法
- 如何在拼接/排序数组时保持jQuery DOM元素引用?
- 将元素引用传递给指令
- 使元素引用不那么笨拙
- 元素引用在修改容器的内部 HTML 属性时中断
- 在Knockout JS中保存对DOM元素引用的正确模式