如何在SAPUI5中的Util中查看目标元素

时间:2018-09-04 21:21:49

标签: javascript sapui5

我想从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上失败

1 个答案:

答案 0 :(得分:1)

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

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

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

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