How execute code every time that I view a page

后端 未结 3 1178
难免孤独
难免孤独 2020-11-29 11:19

I\'m searching the mode to execute a code (in my case the retrieve of data to visualize from server) every time I view a page (every time the page is called by splitAp

相关标签:
3条回答
  • 2020-11-29 11:44

    If routing is used, another version of Allen's code:

     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.
      }
    
    0 讨论(0)
  • 2020-11-29 11:47

    There is a solution for you. There is a event called routeMatched when navigation is triggered every time. You can attach the event in the detail page.

     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.
    }
    
    0 讨论(0)
  • 2020-11-29 12:03

    I´m using onBeforeShow in my target views for that.

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

    This is a function which is fired by a NavContainer on its children in case of navigation. It´s documented in the NavContainerChild.

    0 讨论(0)
提交回复
热议问题