从Angular.js中的URL获取Route参数

时间:2014-09-29 13:19:38

标签: javascript angularjs angularjs-routing

如何从以下网址中将access_tokenng-controller的{​​{1}}的值视为$routeParams

http://www.example.com/#/access_token=asdfjaksjdhflanblasdfkjahdloahds

2 个答案:

答案 0 :(得分:3)

在您的应用配置

App.config(['$routeProvider', function($routeProvider) {
  $routeProvider.
  when('/:id', {
    ....
    controller: 'DetailsController'
  }).

在您的控制器上使用$ routeParams

.controller("DetailsController", ['$routeParams',function($routeParams){    
    var id = $routeParams.id; // this name is from config :id
}]);

答案 1 :(得分:2)

如果未在您的路线中明确定义,则$routeParams无法使用

如果您的路线定义为:

.when('/access_token/:token')

然后您就可以像这样访问它:

var token = $routeParams.token;

但是,您定义的URL实际上不是一个好的路由参数或有效的查询字符串参数。如果它是有效的查询字符串参数

#/?access_token=blahblahblah

然后您可以通过$location.search()方法访问它。

var accessToken = $location.search('access_token');

就目前而言,如果整个键/值对位于路径参数中,您仍然需要解析该值。