Я пытаюсь получить модель OData изнутри функции onInit с контроллера в SAPUI5 для хранения свойства в локальной переменной. Я попытался следующие без успеха:Извлечь объект модели OData из контроллеров onInit function
var oModel = this.getView().getModel(); // returns undefined
var oModel = sap.ui.getCore().getModel(); // returns undefined
Это похоже на модель еще не установлена, когда OnInit работает. Из-за этого, я попытался:
var oModel = this.getOwnerComponent().getModel(); // returns empty odata object
var value = oModel.getProperty("/Collection/Property"); // returns undefined
Тот же самый код работает просто отлично во всех других функций, кроме OnInit, но мне нужно это внутри этой функции.
Как получить модель и свойство в onInit?
В моих примерах работы я использую this.getModel («ModelName»); и он отлично работает. Вы пытались, возможно, назвать свою модель, прежде чем пытаться ее получить? – wdoering
Да, я попробовал назвать модель. Не имеет значения. Вы вызываете модель изнутри onInit? – Chessinio
О моделях undefined: https://stackoverflow.com/a/42251431/5846045 Об извлечении OData: https://stackoverflow.com/a/46662969/5846045 Довольно многое, что [ответ matbtt] (https: // stackoverflow.com/a/41120840/5846045) уже упомянутый. Я бы предложил принять его ответ, чтобы сообщить другим, что этот вопрос решен. – boghyon