angular.js - angularjs公共頭部的headController控制器如何取得路由配置中的參數?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-15 17:01:23
0
5
643

舉個例子:
應用程式中有三個控制器,它們是平級的關係
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無法取得

  • 還有一個想法是在三個控制器上再加一個更高級的控制器,透過父控制器中轉,但是這樣似乎也不妥

曾经蜡笔没有小新
曾经蜡笔没有小新

全部回覆(5)
小葫芦

你就不能把id放到cookies裡面麼

phpcn_u1582

angular-ui 專用取得$stateParams

过去多啦不再A梦

注入$route
然後$route.current.params就是

给我你的怀抱

http://stackoverflow.com/questions/25370775/exusing-the-current-state-name-with-ui-router


雷雷
给我你的怀抱

把這個服務注入$routeParams,然後

$scope.id = $routeParams.id
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板