2013-04-28 278 views
3

期間routeParams不可用,我試圖找出AngularJS和路由。有人可以看看這http://jsfiddle.net/spoon16/p9BBr/

幫我理解爲什麼$routeParams.i未初始化過程中。在我的控制器中使用$routeParams有什麼合適的方法?

回答

4

基本上$routeParams在路由服務已經改變路由之前是不可用的,這意味着你應該只將服務注入與特定路由相關的控制器(路由的controller屬性)。

如果你在其他一些控制器需要知道當前的路線等,你應該聽the various events路線服務廣播,例如

$scope.$on('$routeChangeSuccess', function (ev, current, previous) { 
    // ... 
}); 

Updated fiddle

+0

有一點很難理解你的第一個段落。在jsfiddle中沒有與路線相關的控制器值? – 2013-04-28 20:42:58

+0

通常你特定的控制器特定路由關聯起來,並在控制器通常要提取的參數值,並使用他們的東西(也許有些Ajax調用的一部分)。我打算更新小提琴,但我能得到小提琴讓我改變的URL。 – Martin 2013-04-28 20:49:11