我想从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
上失败
答案 0 :(得分:1)
最好的选择是使用json模型隐藏/显示视图上的元素。导航到视图时,触发sap.ui.getCore()。getEventBus()。publish事件以在该视图中调用函数。
您需要在视图中定义sap.ui.getCore()。getEventBus()。subscribe(),从该位置导航到需要显示/隐藏元素的新视图
在sap.ui.getCore()。getEventBus()。publish事件中,您可以传递上下文,该上下文可用于定义用于显示/隐藏元素的json模型
粘贴您的示例代码,然后我可以建议更改