javascript - 如何在 SAPUI5 中的 Util 中查看目标元素
问题描述
我想从 util 中的函数显示/隐藏视图中的元素。
我努力了,
// check if editing Promotion
if(oUtil._sId === "Promotion"){
var getActiveView = this.getView().byId("mainPageId");
getActiveView.byId("btnSaveEditPromotions").setVisible(true);
getActiveView.byId("btnCancelEditPromotions").setVisible(true);
}
并且
// check if editing Promotion
if(oUtil._sId === "Promotion"){
var getActiveView = sap.ui.getCore().getView().byId("mainPageId");
getActiveView.byId("btnSaveEditPromotions").setVisible(true);
getActiveView.byId("btnCancelEditPromotions").setVisible(true);
}
但两者都不起作用。oUtil.sId
确实相等"Promotion"
,它失败了getActiveView
解决方案
最好的办法是使用 json 模型在视图上隐藏/显示元素。当您导航到视图触发 sap.ui.getCore().getEventBus().publish 事件以调用该视图中的函数。
您需要在导航到需要显示/隐藏元素的新视图的视图中定义 sap.ui.getCore().getEventBus().subscribe()
在 sap.ui.getCore().getEventBus().publish 事件中,您可以传递上下文,该上下文可用于定义用于显示/隐藏元素的 json 模型
粘贴您的示例代码,然后我可以建议更改
推荐阅读
- java - MacOS 上的 NetBeans 12.1 安装错误
- javascript - 我没有从表格行中通过 jquery 中的 id 获取特定值,它显示“未定义”
- jquery - 使用 jQuery 计算活动过滤器并将其插入到属性中
- javascript - vue 3 chart.js 数据从 api 更新但图表未呈现
- python - 如何使用参数将整数值获取到带有 Python 连接器的 MySQL 数据库中
- database - “用户 ADMIN 对架构没有权限。” 联系您的应用管理员,使用 oracle apex 18.2 收到此错误
- python - 仅删除特定句号在文本中意外失败
- python - 无法导入“cv2”
- arrays - Ngfor 到数组并通过 ngif 访问
- android - Android read_external_storage 权限请求问题