如何在SAPUI5中销毁全局模型

时间:2016-08-26 09:27:23

标签: javascript jquery odata sapui5

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

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);

3 个答案:

答案 0 :(得分:1)

如果您想使用destroyrefresh功能,则必须确认sap.ui.getCore().getModel("Filters")结果对象具有此功能。
我猜你可以试试这个:

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

或:

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

enter image description here

一旦从sap.ui.getCore()中删除了一个模型,就会有一个标志指示该模型已被破坏。