У меня есть идея избавиться от i18n
файлов в SAPUI5
. Я мог бы решить, что и если вы заинтересованы вы можете найти какую-то часть решения здесь:Как отложить рендеринг представления в SAPUI5 до получения некоторых данных из бэкэнд?
How to create i18n model from an oData service in SAPUI5.
вызвать функцию для создания модели, когда метаданные загружены:
this.getModel("MY_SERVISE").attachMetadataLoaded(this._createI18nModel, this);
проблема в том, что она отображает представление, и для создания модели требуется несколько секунд. Поэтому в течение нескольких секунд пользователь видит имена переменных как строки, пока не свяжет модель.
Теперь вопрос заключается в том, как отложить рендеринг или заставить библиотеку SAPUI5 сначала загрузить OData.
Сделать вид занятым - это вариант, но затем я должен использовать эту функцию от Component.js
до контроллера.
Как я знаю, вы не можете предотвратить рендеринг, и единственным решением является использование функции setBusy, и, как вы упомянули, он недоступен в Component.js. В чем проблема переноса кода на ваш первый контроллер, например, 'App.controller.js'? –
Просто интересно, что если мы будем называть синхронный запрос на событие жизненного цикла: onBeforeRendering of view? –
Создайте пустой вид, который запускает загрузку вашей модели, и когда она будет выполнена, используйте маршрутизатор для перехода к реальному виду. –