Как вызвать функцию onInit при загрузке страницы во второй раз в SAP UI5 [дубликат]

8
задан padibro 5 August 2014 в 14:08
поделиться

3 ответа

У вас есть решение. Существует событие, называемое routeMatched, когда навигацию запускается каждый раз. Вы можете прикрепить событие на странице подробностей.

 onInit : function () {
    this._oRouter = sap.ui.core.UIComponent.getRouterFor(this);
    this._oRouter.attachRouteMatched(this.handleRouteMatched, this);
},

handleRouteMatched : function (evt) {
    //Check whether is the detail page is matched.
    if (evt.getParameter("name") !== "detail") {
        return;
    //You code here to run every time when your detail page is called.
}

С уважением, Allen

10
ответ дан Haojie 25 August 2018 в 05:45
поделиться

Если используется маршрутизация, другая версия кода Аллена:

 onInit : function () {
   this._oRouter = sap.ui.core.UIComponent.getRouterFor(this);
   this._oRouter.getRoute("detail").attachMatched(this.handleRouteMatched, this);
},

  handleRouteMatched : function (evt) {
    //You code here to run every time when your detail page is called.
  }
5
ответ дан danpop 25 August 2018 в 05:45
поделиться

Я использую onBeforeShow в моих целевых представлениях для этого.

onBeforeShow : function(evt) {
    // gets called everytime the user 
    // navigates to this view
},

Это функция, которая запускается NavContainer для своих детей в случае навигации. Это описано в NavContainerChild .

5
ответ дан Tim Gerlach 25 August 2018 в 05:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: