繁体   English   中英

sapui5:模型不被破坏

[英]Sapui5: model is not destroyed

在以下代码中,我尝试销毁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.JSONModel();
oModel.setData(oData);
sap.ui.getCore().setModel(oModel, "modelId");
console.log(sap.ui.getCore().getModel("modelId"));

日志是:

第一个代码段(我尝试破坏模型):

C.extend.constructor {mEventRegistry: Object, oData: Object, bDestroyed: false, aBindings: Array[0], mContexts: Object…}

第二个片段(设置了模型):

EventProvider sap.ui.model.json.JSONModel

我在这里想念什么? 为什么日志如此不同?

这样做的主要问题是-我试图销毁该模型,但是它不起作用。

我在这里检查了API 并说Model实现可能会干扰destroy函数。 我对模型有相同的结果,当我尝试删除它时,所有被删除的都是绑定,而不是整个模型。

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…}

从上面的代码示例中可以看到。 我会继续寻找,但我想不可能删除整个模型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM