Проблема с изменением версии оддаты в сети
Я пытаюсь изменить свою версию OData на V1 в своей веб-IDE, пытаясь сохранить приведенный ниже код в объекте модели в mainfest.json
,
"": {
"type": "sap.ui.model.odata.ODataModel",
"dataSource": "mainService",
"settings": {
"metadataUrlParams": {
"sap-documentation": "heading"
}
}
}
когда элемент управления доходит до component.js, this.getModel()
дает мне версию OData как V1, но когда я выполняю эту строку
UIComponent.prototype.init.apply(this, arguments);
давая мне ошибку как
Uncaught TypeError: this.getOwnerComponent(...).getModel(...).metadataLoaded is not a function.
Я развиваюсь SAPUI5
Приложение Master-Detail в Web IDE. Как это решить? Какие-либо предложения?
1 ответ
Разница от 1.28 до чего-то более высокого - это metadataLoaded-function. SAP изменил его в своих версиях... кстати, плохой хаббит.
В 1.28 вам нужно использовать его без обещания:
oDataModel.onMetadataLoaded(function(data) {
console.log('finished', data);
});
Выше 1.28 вы можете использовать его с обещанием
oDataModel.metadataLoaded().then(function(data) {
console.log('finished', data);
});