2017-02-26 12 views
0

ルータにいくつかのルートを動的に追加したいとします。すべてnameパラメータが有効な文字列を有しているが、SAPUI5:ルートを動的に追加するとエラーが発生する

for (var i = 0; i < aRoutes.length; i++) { 
    var _name = aRoutes[i].name, 
     _pattern = sPatternPrefix + aRoutes[i].pattern, 
     _target = aRoutes[i].target; 
    var oRoute = new sap.ui.core.routing.Route(oRouter, { 
     name: _name, 
     pattern: _pattern, 
     target: _target 
    }); 
    oRouter.addRoute(oRoute, oParent); 
} 

何の理由が考えられます。

A name has to be specified for every route - EventProvider sap.ui.core.routing.Router A @ sap-ui-core.js:88

私が使用したコードは、次のとおりです。しかし、それは次のようなエラーがスローされますか?

ルートが作成されてもエラーはスローされませんが、addRoute機能を使用する場合はスローされます。

答えて

0

Routeを作成する必要はありません。 apinew sap.ui.core.routing.Routeに記載されているように、oConfigオブジェクトを使用してください。したがって、次のようにコードを変更してください:

for (var i = 0; i < aRoutes.length; i++) { 
    oRouter.addRoute({ 
      "name" : aRoutes[i].name, 
      "pattern" : sPatternPrefix + aRoutes[i].pattern, 
      "target" : aRoutes[i].target 
     }, oParent); 
} 
関連する問題