#sapui5 #jsonmodel
#sapui5 #jsonmodel
Вопрос:
Могу ли я использовать / привязать значение из первой модели JSON во второй модели JSON? В приведенном ниже примере текст первого элемента во второй модели (MyNamedModel) должен быть «Apple».
Полный пример можно найти здесь: https://plnkr.co/edit/WtStoqxsjUAfC9Ia
var oFruits = {
first: "Apple",
second: "Banana"
}
var oFruitModel = new JSONModel(oFruits);
this.getView().setModel(oFruitModel, "FruitModel");
var oData = {
"items": [
{ Key: "A",
Text: "{path: '/FruitModel>/first'}",
Icon: "sap-icon://nutrition-activity"
},
{ Key: "B",
Text: "Paper Plane",
Icon: "sap-icon://paper-plane"
},
{ Key: "C",
Text: "Vacation",
Icon: "sap-icon://general-leave-request"
}
]
};
var oMyModel = new JSONModel(oData);
this.getView().setModel(oMyModel, "MyNamedModel");
Пример использования:
На самом деле у меня есть элемент управления geoMap, где конфигурация mapConfiguration находится в JSONModel, и я хотел бы получить одно конкретное значение параметра (URL) из серверной части и использовать его в конфигурации mapConfiguration.
Ответ №1:
Да, вы можете его привязать. Для следующего примера это будет выглядеть так:
var oData = {
"items": [
{ Key: "A",
// Text: "Apple",
Text: this.getView().getModel("FruitModel").getData().first,
Icon: "sap-icon://nutrition-activity"
}
]
};
По сути, с помощью инструкции this.getView().getModel("FruitModel").getData()
вы получаете доступ ко всей структуре из «FruitModel». Кроме того, вы можете присвоить ему значения, какие захотите.
Вот также ваш рабочий пример https://plnkr.co/edit/7EO3qaXPpHX5QUZM