如何在SAPUI5中销毁全局模型

问题描述 投票:0回答:3

我试图摧毁全球模型,但没有运气。我有过滤器的按钮,如下所示:

navToSecond : function (oEvent){
        var oObject = this.getView().byId("inp").getValue();
        sap.ui.getCore().setModel(oObject, "Filters");
        this.getRouter().navTo("second"); 
        },

在第二个视图中,在第一个视图中填充输入字段后,我有一个带有过滤oData的智能表。然后我按下按钮导航回第一页,我想刷新或销毁全局模型并再次从字段读取输入。然后它应该发送新的请求URL。

我是这样想的:

sap.ui.getCore().getModel("Filters").destroy();

要么

sap.ui.getCore().getModel("Filters").refresh(true);
javascript jquery odata sapui5
3个回答
1
投票

如果你想使用destroyrefresh函数,你必须确认sap.ui.getCore().getModel("Filters")结果对象有这两个函数。 我猜你可以尝试这个:

sap.ui.getCore().setModel(null, "Filters");

要么:

sap.ui.getCore().setModel("", "Filters");

1
投票

这个帖子的问题是“如何破坏SAPUI5中的全局模型”

英怡正确回答。如果取消设置模型,将删除对模型的所有引用,垃圾收集器可以完成其工作。

但是你真正的问题是触发执行查询来更新你的表。破坏和重新创建模型是错误的方法。如何处理我在其他主题中对此主题进行描述的事件。


0
投票

一旦模型从sap.ui.getCore()被摧毁,就会有一个标志,表明模型已被破坏。

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