2016-03-29 115 views
1

我想建立狀態提供程序,捕獲多個參數,但問題是,我不知道有多少個參數 是否有可能將它們捕獲爲對象或數組? 或唯一的解決辦法是把它作爲字符串並將它們分開?angularsjs狀態提供程序多參數

例如,這是我的供應商

.state('app.confirmPayment', { 
     url: '/comfirmPayment/:params', 
     templateUrl: '/Views/ConfirmPayment.html' 
    }) 

和控制器

app.controller('ConfirmController', ['$scope', '$state', 
    function ($scope, $state) { 
     var self = this; 

     console.log('$state confirm payment'); 
     console.log($state); 
     console.log('$state confirm payment'); 

    } 
]); 

,並想抓住一切PARAMS分離

/comfirmPayment/:age=15&name=erez..... // can be more that i dont know 

,並可以更PARAMS,我不知道他們可以做什麼

感謝 希望其明確

回答

0

除非你綁定到查詢參數(見documentation),你不直接訪問它們通過$state$stateParams

假設URL

cities?cityId=3&param1=value1 

,你可以在你的路由器配置$stateProvider你定義狀態

.state('cities', { 
      url: "/cities?cityId&param1", 
      templateUrl: "cities.html", 
      controller: "citiesController" 
     }) 
// will match to url of "/cities?cityId=[any id]&param1=[any value]" 

處理這個最後你可以在citiesController.js即這些參數

console.log($stateParams); 
//Object {cityId: "3", param1: "value1"} 

希望它有幫助。

+0

那麼我不知道他們誤解了這個問題的那些參數怎麼樣 – Erez

+0

@Erez我已經編輯了我的答案,請看看並詢問任何關於它的問題。 –

+0

'objNeedsToBePassed'是參數obj,它具有需要傳遞給另一個控制器的控制器中的所有參數。 –

相關問題