AngularJS:从控制器内读取路径参数

时间:2013-04-28 13:36:35

标签: variables angularjs controller routes url-parameters

如何在AngularJS控制器中读取URL中的参数?

假设我有一个类似http://localhost/var/:value的网址,我希望将值存储在/var/:value网址控制器的变量中。

我已尝试使用$routeParams.value$route.current.params.value,但$routeParams在开头未定义且$route不起作用。

2 个答案:

答案 0 :(得分:15)

问题是您可能会在路由更改发生之前运行的控制器中注入$routeParams$route,例如:你的主/主/页面控制器。

如果在控制器中为特定路由注入$routeParams(在定义路由时由controller属性指定),那么它将起作用,否则您可能最好听一下路线服务广播的各种活动。

尝试更改您的代码以使用

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

答案 1 :(得分:3)

要求:确保“ngRoute”在您的应用模块中

Route provider set up as: http://localhost/var/:valName

功能设置为:

function functionName($scope, $routeParams){$scope.value = $routeParams.valName;}

HTML视图:

{{value['valName']}}