我想在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()。发布事件以调用该视图中的函数。
您需要在视图中定义sap.ui.getCore()。getEventBus()。subscribe(),您将导航到需要显示/隐藏元素的新视图
在sap.ui.getCore()。getEventBus()。发布事件中,您可以传递上下文,该上下文可用于定义用于显示/隐藏元素的json模型
粘贴您的示例代码然后我可以建议更改