Запретить нескольким представлениям использовать одни и те же данные модели - PullRequest
1 голос
/ 26 июня 2019

У меня есть страница в моем приложении и связанный контроллер.Например, A.view.xml и A.controller.js.

Один из других программистов имеет требование создать похожую страницу.Поэтому он скопировал вид моей страницы и контроллер (и изменил имена файлов на B).Эта новая страница, которую он создал, вызывается из другого места в приложении.

Проблема заключается в следующем: когда я открываю страницу A, заполняю ее некоторыми данными, отменяю / сохраняю ее, а затем перехожу на страницу B и открываю ее, эта страница открывается с теми же данными, которые были заполнены на странице A.

Я считаю, что это связано с тем, что обе страницы имеют одинаковый дизайн, одинаковые идентификаторы и даже одинаковое название модели.Как предотвратить передачу данных со страницы A на страницу B?Я не могу вернуться со страницы Б.

1 Ответ

0 голосов
/ 27 июня 2019

Почему вы не используете разные модели?

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");   
}
...