2014-12-08 109 views
1

我試圖使動態選項的一些嵌套狀態。ui路由器嵌套狀態參數拋出

這種狀態的正常工作:appapp.processapp.process.step2

但是我的情況有點不同,因爲我想通過在URL的一些數據。

這裏是我的狀態

.state('app.process/:type', { 
      url: "/process/:type", 
      views: { 
       'menuContent1': { 
        templateUrl: "templates/intro.html", 
        controller: 'IntroCtrl', 

       } 
      } 
     }) 

     .state('step/:type/:step', { 
      url: "/process/:type/:step", 
      parent: 'app.process', 
      views: { 
       'proiew': { 
        templateUrl: "templates/processes/increase.html", 

        controller: "increaseCtrl", 



       } 
      } 
     }) 

試圖運行這個

$state.go('step/:type/:step', {type:$stateParams.type, step:2}); 

我得到一個錯誤

Error: Could not resolve 'new/:type/:step' from state 'app.process/:type' 
    at Object.transitionTo (http://localhost:8100/lib/ionic/js/ionic.bundle.js:33979:39) 
    at Object.go (http://localhost:8100/lib/ionic/js/ionic.bundle.js:33862:19) 
    at Scope.$scope.goNext (http://localhost:8100/js/controllers/IntroCtrl.js:11:18) 
    at http://localhost:8100/lib/ionic/js/ionic.bundle.js:18471:21 
    at http://localhost:8100/lib/ionic/js/ionic.bundle.js:43026:9 
    at Scope.$eval (http://localhost:8100/lib/ionic/js/ionic.bundle.js:20326:28) 
    at Scope.$apply (http://localhost:8100/lib/ionic/js/ionic.bundle.js:20424:23) 
    at HTMLButtonElement.<anonymous> (http://localhost:8100/lib/ionic/js/ionic.bundle.js:43025:13) 
    at http://localhost:8100/lib/ionic/js/ionic.bundle.js:10478:10 
    at forEach (http://localhost:8100/lib/ionic/js/ionic.bundle.js:7950:18) 

有什麼建議?

+0

傳遞參數 – 2014-12-08 07:35:14

+0

你只需要:與步:在URL類型的佔位符,而不是在州名 – cthulhu 2014-12-08 07:41:20

回答

0

有很多不同的方法可以將參數傳遞給一個狀態,首先你可以簡單地設置參數點擊鏈接,然後從範圍中取出它們。

但如果我們正在談論更可靠和可讀的東西,我建議this post,特別是我喜歡使用Resolve。我會把這裏的決心的一個例子,但我建議你閱讀,並找出最適合您:以不同的方式

$stateProvider 
     .state("customers", { 
     url : "/customers", 
     templateUrl: 'customers.html', 
     resolve: { 

      // A string value resolves to a service 
      customersResource: 'customersResource', 

      // A function value resolves to the return 
      // value of the function 
      customers: function(customersResource){ 
       return customersResource.query(); 
      } 
     }, 
     controller : 'customersCtrl' 
     }); 
+0

您可以使用'數據'參數而不是解析。但是你的方法不允許你通過在url中輸入customers/123來獲得特定的客戶 – 2014-12-08 07:56:05

相關問題