如何在 AngularJS 控制器中读取来自 URL 的参数?
假设我有一个类似的 URL,http://localhost/var/:value
并且我希望将值存储在/var/:value
URL 控制器内的变量中。
我尝试过使用$routeParams.value
,$route.current.params.value
但$routeParams
一开始没有定义并且$route
不起作用。
如何在 AngularJS 控制器中读取来自 URL 的参数?
假设我有一个类似的 URL,http://localhost/var/:value
并且我希望将值存储在/var/:value
URL 控制器内的变量中。
我尝试过使用$routeParams.value
,$route.current.params.value
但$routeParams
一开始没有定义并且$route
不起作用。
问题是您可能注入$routeParams
或$route
在发生路由更改之前运行的控制器中,例如您的主/主/页面控制器。
如果您$routeParams
为特定路由注入控制器(controller
在定义路由时由属性指定),那么它将起作用,否则您可能最好收听路由服务广播的各种事件。
尝试更改您的代码以使用
$scope.$on('$routeChangeSuccess', function (ev, current, prev) {
// ...
});
要求:确保“ngRoute”在您的应用模块中
Route provider set up as: http://localhost/var/:valName
功能设置为:
function functionName($scope, $routeParams){$scope.value = $routeParams.valName;}
HTML 视图:
{{value['valName']}}