У меня есть приложение UI5 с 3 уровнями
- / home
целевая страница, которая, помимо прочего, отображает несколько элементов.Слева находится панель навигации, которая содержит ссылку на список всех элементов.Панель навигации выполняется элементами управления, которые имеют свойство itemSelect = onItemSelect.Эта функция onItemSelect выглядит следующим образом
onItemSelect: function (oEvent) {
const item = oEvent.getParameter('item');
this.getRouter().navTo(item.getKey());
},
/ home / items
список всех предметов.Каждый элемент можно нажать.В контроллере этого списка элементов есть функция onInit, которая выводит список элементов из базы данных
/ home / items / {itemId} - сведения об элементе
Проблема в том, что onInit () в списке элементов не всегда выполняется.Если я открою целевую страницу (уровень 1) и затем нажму на боковую навигацию, чтобы отобразить список элементов (уровень 2), onInit () будет выполнено, и все данные будут успешно загружены.
Тем не менее, у меня также есть возможность открыть целевую страницу (уровень 1) и оттуда нажать на несколько новейших предметов, чтобы отобразить их детали напрямую (уровень 3), минуя весь список предметов.И затем, если я нажимаю на боковую навигацию, чтобы отобразить список элементов (уровень 2), onInit () не выполняется и список остается пустым.
Может кто-нибудь объяснить мнепочему это происходит и как это исправить?Я понимаю, что onInit () выполняется только один раз, но я не понимаю, почему он не выполняется на странице, которая будет отображаться в первый раз ...
Спасибо