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

问题描述 投票:-1回答:1

我想在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失败了

javascript sapui5
1个回答
1
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.