舉個例子:
應用程式中有三個控制器,它們是平級的關係
A控制器控制頁的head部分
B和C控制器控制詳情頁和編輯頁面,路由關係如下
when('/detail/:id', { templateUrl: 'tpls/detail.html', controller: "BController" }).
when('/edit/:id', { templateUrl: 'tpls/edit.html', controller: "CController" }).
現在的需求是在A控制器中要取得路由URL中的參數id,該如何取得?
我目前的實作方式:
我寫了一個service,在service中寫一個函數,這個函數的作用就是用$location.path()的方式拿到當前URL,然後再使用字串截取的方式取到參數中的id,雖然拿到了值,但感覺不應該是這個方式
我的嘗試:
$location有一個API,$location.search().name 是用來取得目前url參數的,但是這個api無法取得我的參數,因為我的url裡是形如index.html#/detail/1的形式,沒有name無法取得
還有一個想法是在三個控制器上再加一個更高級的控制器,透過父控制器中轉,但是這樣似乎也不妥
你就不能把id放到cookies裡面麼
angular-ui 專用取得$stateParams
注入$route
然後$route.current.params就是
http://stackoverflow.com/questions/25370775/exusing-the-current-state-name-with-ui-router
雷雷
把這個服務注入$routeParams,然後