12

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

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

我尝试过使用$routeParams.value$route.current.params.value$routeParams一开始没有定义并且$route不起作用。

4

2 回答 2

15

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

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

尝试更改您的代码以使用

$scope.$on('$routeChangeSuccess', function (ev, current, prev) {
   // ... 
});
于 2013-04-28T19:03:55.157 回答
3

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

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

功能设置为:

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

HTML 视图:

{{value['valName']}}
于 2013-12-18T16:08:14.673 回答