如何将数据从母版页传递到详细页SAPUI5?

Kaa*_*gan 3 javascript sap sapui5 sap-fiori

我想在按ListItem时将参数从母版页传递到详细信息页

handleListItemPress : function (evt ) {

 imp =  evt.getSource().getTitle();
  alert(imp);

//  var mystring = 'this,is,an,example';
  var splits = imp.split(",");


  dino     = splits[0];  //I want to send three parameters
  revno    = splits[1];
  uruntipi = splits[2];

    var context = evt.getSource().getBindingContext();
    this.nav.to("Detail", context);
},
Run Code Online (Sandbox Code Playgroud)

我想获取参数详细信息页面onInit功能。

Sun*_*B N 5

handleListItemPress: function (evt) {
    var imp = evt.getSource().getTitle(); //don't declare globals variables
    //  var mystring = 'this,is,an,example';
    var splits = imp.split(",");

    //build json object with all your properties you want to send
    var context = {
        dino: splits[0],
        revno: splits[1],
        uruntipi = splits[2],
        bindingContext = evt.getSource().getBindingContext()
    };

    this.oRouter.navTo("Detail", context);
    //OR sap.ui.core.UIComponent.getRouterFor(this).navTo("Detail", context);
    //this.nav.to("Detail", context);
}
Run Code Online (Sandbox Code Playgroud)

详细页面:

 onInit: function () {
     var oRouter = sap.ui.core.routing.Router.getRouter("appRouter");
     //can also use directly this.oRouter.attachRouteMatched(...)
     oRouter.attachRouteMatched(function (oEvent) {
         if (oEvent.getParameter("name") !== "detail") {
             return:
         }
         var dino = oEvent.getParameter("arguments").dino;
         var revno = oEvent.getParameter("arguments").revno;
         var uruntipi = oEvent.getParameter("arguments").uruntipi;
         var bindingContext = oEvent.getParameter("arguments").bindingContext;
     }, this);
 }
Run Code Online (Sandbox Code Playgroud)

在此处阅读更多信息导航的方法和事件

  • 如果您有路由器,那么我认为这行不通,因为您只能通过定义的网段 (2认同)