我想从实用程序中的函数中显示/隐藏视图中的元素。
我试过了,
// 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模型
粘贴您的示例代码,然后我可以提出更改建议