首页 > 解决方案 > 如何在 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

标签: javascriptsapui5

解决方案


最好的办法是使用 json 模型在视图上隐藏/显示元素。当您导航到视图触发 sap.ui.getCore().getEventBus().publish 事件以调用该视图中的函数。

您需要在导航到需要显示/隐藏元素的新视图的视图中定义 sap.ui.getCore().getEventBus().subscribe()

在 sap.ui.getCore().getEventBus().publish 事件中,您可以传递上下文,该上下文可用于定义用于显示/隐藏元素的 json 模型

粘贴您的示例代码,然后我可以建议更改


推荐阅读