如何在AngularJS控制器中读取URL参数?
假设我有一个像http://localhost/var/:value
的URL,我想要将其中的参数值存储在/var/:value
URL对应的控制器变量中。
我尝试使用$routeParams.value
和$route.current.params.value
,但是$routeParams
在开始时是未被定义的,而且$route
也无法正常工作。
如何在AngularJS控制器中读取URL参数?
假设我有一个像http://localhost/var/:value
的URL,我想要将其中的参数值存储在/var/:value
URL对应的控制器变量中。
我尝试使用$routeParams.value
和$route.current.params.value
,但是$routeParams
在开始时是未被定义的,而且$route
也无法正常工作。
问题在于您可能会将$routeParams
或$route
注入到在路由更改之前运行的控制器中,例如您的主控制器或页面控制器。
如果您在特定路由的控制器中注入$routeParams
(在定义路由时指定controller
属性),则它将起作用,否则最好监听路由服务广播的各种事件。
尝试更改您的代码以使用:
$scope.$on('$routeChangeSuccess', function (ev, current, prev) {
// ...
});
$routeParams
。 $routeParams
仅在使用$routeProvider.when(/movies/:genre, {...})
时才起作用,否则您必须手动提取值。问题:您是否正在使用AngularJS路由,还是只是寻找从URL中提取值的方法? - Martinng-view
дёӯеҠ иҪҪдёҚеҗҢзҡ„templateUrls
пјҲangular-express-seedпјүгҖӮдҪҶжҳҜж„ҹи°ўжӮЁзҡ„зӯ”жЎҲпјҢдјјд№ҺжҲ‘йңҖиҰҒз”ЁдёҚеҗҢзҡ„ж–№жі•и§ЈеҶіжҲ‘зҡ„й—®йўҳгҖӮ - ctitze需求:确保在您的应用程序模块中包含'ngRoute'
Route provider set up as: http://localhost/var/:valName
函数设置如下:
function functionName($scope, $routeParams){$scope.value = $routeParams.valName;}
HTML视图:
{{value['valName']}}