angular.js - angularjs公共头部的headController控制器如何获取路由配置中的参数?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-15 17:01:23
0
5
641

举个例子:
应用中有三个控制器,它们是平级的关系
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)
小葫芦

CookieにIDを入れられませんか

いいねを押す +0
phpcn_u1582

angular-ui は $stateParams を独占的に取得します

いいねを押す +0
过去多啦不再A梦

$route
を注入し、$route.current.paramsは

いいねを押す +0
给我你的怀抱

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


リーリー
いいねを押す +0
给我你的怀抱

このサービスを $routeParams に挿入してから

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート