Javascript Sapui5:模型没有被破坏
在以下代码中,我尝试销毁JSON模型(如果存在):Javascript Sapui5:模型没有被破坏,javascript,sapui5,Javascript,Sapui5,在以下代码中,我尝试销毁JSON模型(如果存在): if(sap.ui.getCore().getModel("modelId")){ console.log(sap.ui.getCore().getModel("modelId")); sap.ui.getCore().getModel("modelId").destroy(); }; 但上述模型并未被破坏 上述模型在另一个函数中设置,如下所示: var oModel = new sap.ui.model.json.JSONM
if(sap.ui.getCore().getModel("modelId")){
console.log(sap.ui.getCore().getModel("modelId"));
sap.ui.getCore().getModel("modelId").destroy();
};
但上述模型并未被破坏
上述模型在另一个函数中设置,如下所示:
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData(oData);
sap.ui.getCore().setModel(oModel, "modelId");
console.log(sap.ui.getCore().getModel("modelId"));
记录如下:
第一个片段(我试图破坏模型的地方):
第二个代码段(其中设置了模型):
我错过了什么?为什么日志如此不同
这方面的主要问题是,我试图销毁该模型,但它不起作用。我检查了API,它说模型实现可能会干扰销毁功能。
我的模型也有同样的结果,当我试图删除它时,删除的只是绑定,而不是整个模型
var test = sap.ui.getCore().getModel("partnerDaten");
console.log(test);
if(test !== undefined){
sap.ui.getCore().getModel("partnerDaten").destroy();
this.getView('bearbeiten').getModel("partnerDaten").refresh(true);
console.log(test);
};
这些是控制台日志
C.extend.constructor {mEventRegistry: Object, oData: Object, bDestroyed: false, aBindings: Array[46], mContexts: Object…}
C.extend.constructor {mEventRegistry: Object, oData: Object, bDestroyed: true, aBindings: Array[0], mContexts: Object…}
从上面的代码示例中可以看到。我会继续查找,但我猜不可能删除整个模型。您是否确保“sap.ui.getCore().getModel(“modelId”)”实际返回一个模型?此对象是否具有属性“destroy()”?您可以使用console.log(sap.ui.getCore().getModel(“modelId”))执行此操作;如果你不知道的话。在SAP博客上找到了类似的thrad-。从core works中取消设置模型-在设置模型时,如果您没有给出任何名称,则使用
sap.ui.getCore().setModel()代码>这将覆盖旧模型。因为您使用了一个名称,所以这次传递null。即sap.ui.getCore().setModel(null,'userModel')代码>
var test = sap.ui.getCore().getModel("partnerDaten");
console.log(test);
if(test !== undefined){
sap.ui.getCore().getModel("partnerDaten").destroy();
this.getView('bearbeiten').getModel("partnerDaten").refresh(true);
console.log(test);
};
C.extend.constructor {mEventRegistry: Object, oData: Object, bDestroyed: false, aBindings: Array[46], mContexts: Object…}
C.extend.constructor {mEventRegistry: Object, oData: Object, bDestroyed: true, aBindings: Array[0], mContexts: Object…}