Я пытаюсь создать пример экрана с помощью SAP Web IDE, где нажатие разных кнопок изменяет разные тексты на экране. У меня есть несколько функций в App.controller.js, и код такой (все функции пока делают одно и то же, но влияют на разные текстовые области):
onPressButton2: function () {
var oData = {
text: {
line1: "line1",
line2: "line2",
line3: "line3",
line4: "line4"
}
};
var oModel = new JSONModel(oData);
this.getView().setModel(oModel);
},
И это соответствующая часть в XML:
<items>
<Text xmlns="sap.m" text="{/text/line1}" id="text1"/>
<Text xmlns="sap.m" text="{/text/line2}" id="text2"/>
<Text xmlns="sap.m" text="{/text/line3}" id="text3"/>
<Text xmlns="sap.m" text="{/text/line4}" id="text4"/>
</items>
Это работает, но когда я пытаюсь изменить разные области экрана, предыдущие изменения, которые я сделал, нажимая кнопки, исчезают. Я предполагаю, что это потому, что я использую setModel
каждый раз заново, что перезаписывает его, но я не могу найти правильное использование.
Должен ли я создавать разные файлы js для каждого раздела на экране?
Есть ли способ обновить модель, а не перезаписывать ее целиком?