Взгляните на хорошо документированный Справочник по API для JSONModel
.
В итоге (из документации SAP):
setData
: устанавливает данные, передаваемые в виде дерева объектов JS, в модель.
например,
var data = {
"ProductCollection": [{
"titleId": 0,
"Name": "Olayinka O",
"ProductId": "001",
"chartValue": 75,
"ProductPicUrl": "sap-icon://competitor"
}]
};
var oModel = new sap.ui.model.json.JSONModel(data);
//OR
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData(data);
/*setdata, could also be a odata url in json format*/
loadData
:
Загрузите данные в формате JSON с сервера, используя HTTP-запрос GET, и сохраните полученные данные JSON в модели. Примечание. Из-за ограничений безопасности браузера большинство запросов «Ajax» подчиняются одной и той же политике происхождения, поэтому запрос не может успешно получить данные из другого домена, субдомена или протокола.
например. Вы можете использовать это для загрузки / получения изменений данных / модели и автоматически обновляет представление, если эта конкретная модель была привязана путем перезагрузки URL-адреса. Если вы используете load , то, по моему мнению, вам не нужны другие два и loadData
, поскольку не работают с локальными данными json.
setJSON
:
Устанавливает данные, передаваемые в виде строки в формате JSON, для модели.
т.е. То же, что и Set Data, но строгий JSON