Model 防止多个视图共享同一模型数据

Model 防止多个视图共享同一模型数据,model,sapui5,Model,Sapui5,我的应用程序中有一个页面和一个关联的控制器。例如A.view.xml和A.controller.js 另一个程序员需要创建一个类似的页面。所以他复制了我页面的视图和控制器(并将文件名改为B)。他创建的这个新页面正在从应用程序中的另一个位置调用 问题是: 当我打开A页时,用一些数据填充它,取消/保存它,然后转到B页并打开它,该页打开时使用的数据与我在A页中填充的数据相同 我相信这与两个页面具有相同的设计、相同的ID,甚至相同的模型名有关。如何防止数据从A页流向B页?我无法退出B页。为什么您不使用不

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

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

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


我相信这与两个页面具有相同的设计、相同的ID,甚至相同的模型名有关。如何防止数据从A页流向B页?我无法退出B页。

为什么您不使用不同的型号

A.view.xml

<Page id="pageA">
B.controller.js

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

为什么不使用不同的型号

A.view.xml

<Page id="pageA">
B.controller.js

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

您能否同时共享视图和控制器代码?这两个视图之间需要共享模型。一种“简单”的方法是在一个公共父视图中声明模型(视图继承自父视图的模型)@JiaSH我想他想要的是相反的结果,因为现在他有一个共享的模型,但希望这两个视图是独立的。也许我误解了这个问题:你能展示一下你在哪里/如何创建你的模型以及你在哪里设置它吗?在什么控件上调用您的
setModel
?模型是由每个视图的控制器创建的还是在外部某个位置创建的?您能否共享视图和控制器代码?您需要在两个视图之间共享模型。一种“简单”的方法是在一个公共父视图中声明模型(视图继承自父视图的模型)@JiaSH我想他想要的是相反的结果,因为现在他有一个共享的模型,但希望这两个视图是独立的。也许我误解了这个问题:你能展示一下你在哪里/如何创建你的模型以及你在哪里设置它吗?在什么控件上调用您的
setModel
?模型是由每个视图的控制器创建的还是由外部的某个地方创建的?