2017-01-24 11 views
0

Когда методы жизненного цикла происходят в SAP UI5? У меня есть два вида, назовем их A и B. Нажимая кнопку в A, я использую navTo(), чтобы перейти к представлению B. В первый раз, когда я это делаю, вызывается функция onInit(), но если я вернусь к просмотру A и снова вернуться к B, функция НЕ будет снова вызвана. Как я могу сделать это так, чтобы снова позвонить onInit()? Как я могу сделать так, чтобы переход с B на A удалял просмотр B? Я вижу, что данные остаются после перехода между A и B, и я думаю, что это потому, что B не разрушен. Они оба имеют свои собственные контроллеры, а B имеет фрагмент в виде xml.SAP UI5 Lifecycle

ответ

1

На самом деле это спроектированное поведение. Вы можете использовать patternMatched Событие маршрутизатора, чтобы делать что-либо каждый раз, когда пользователь переходит к определенному виду. Обычно обработчик события может быть присоединен к маршрутизатору в вашем контроллере onInit. Код может выглядеть следующим образом:

this.getOwnerComponent().getRouter().getRoute("<sufficient route name>").attachPatternMatched(this.yourPatternMatchedHandler, this); 

Среди других можно найти образец here

+0

Спасибо, ясный и прямой до точки. – Developer