2016-06-09 73 views
1

我有一个问题,以创建一个路由器。每次我收到错误Cannot read property 'initialize' of undefinedSAPUI5路由:无法读取属性'初始化'的未定义

这是我在我Component.js代码:

sap.ui.define([ "sap/ui/core/UIComponent", "sap/ui/model/json/JSONModel", 
     "sap/ui/core/routing/History", "sap/m/routing/RouteMatchedHandler" ], 
     function(UIComponent, JSONModel, Router, RouteHandler) { 
      "use strict"; 
      return UIComponent.extend("myApp.Component", { 
       metadata: { 
        routing:{ 
         config: { 
          viewType:"XML", 
          viewPath:"myApp.view", 
          targetControl: "idRoot", 
          targetAggregation: "pages", 
          clearTarget: false 
         }, 
         routes:[{ 
          pattern: "", 
          name:"Master", 
          view:"Master"       
         }] 
        } 
       }, 

       init: function(){ 
        var router = this.getRouter(); //Doesn't work 
        router.initialize(); //ERROR HERE 
       }, 

,如果我尝试var router = sap.ui.core.routing.Router.getRouter();这是相同的。

有人可以帮我吗?

回答

3

你缺少这行代码:

UIComponent.prototype.init.apply(this, arguments); 

您需要intializing路由器之前调用父类的初始化函数。

相关问题