防止多个视图共享相同的模型数据

时间:2019-06-26 16:32:22

标签: model sapui5

我的应用程序中有一个页面以及一个关联的控制器。例如A.view.xmlA.controller.js

其他一名程序员需要创建一个相似的页面。因此,他复制了我页面的视图和控制器(并将文件名更改为B)。他创建的这个新页面正在从应用程序的另一个位置调用。

问题是: 当我打开页面A时,向其中填充一些数据,取消/保存它,然后转到页面B并打开它,此页面将打开与我在页面A中填充的数据相同的数据。

我认为这与以下事实有关:两个页面具有相同的设计,相同的ID,甚至具有相同的型号名称。如何防止数据从A页流到B页?我无法退出B页。

1 个答案:

答案 0 :(得分:0)

为什么不使用其他型号?

A.view.xml

<Page id="pageA">

B.view.xml

<Page id="pageB">

A.controller.js

init: function(){
    var oModelA = new sap.ui.model.json.JSONModel();
    this.getView().byId("pageA").setModel(oModelA, "ModelA");
}

B.controller.js

init: function(){
    var oModelB = new sap.ui.model.json.JSONModel();
    this.getView().byId("pageB").setModel(oModelB, "ModelB");   
}