我正在尝试在我的JS中使用routeParams,但始终以未定义形式传入。
app.controller('ShowKey', function($scope, $http, $routeParams, $log) {
$log.info('SomeCtrl - starting up, yeah!');
$log.info($routeParams);
$scope.getKey = function() {
$log.info($routeParams);
};
});
除了使用routeParams调用app.controller以外,还有什么需要设置的吗?
最佳答案
1-您是否在配置中考虑了任何routeParams?
2-如果您想在配置中获取routeParams,那么,您不能,
---您必须使用:
$ route.current.params代替
app.config(function($routeProvider){
$routeProvider.when('/path/:yourRouteParam'
templateUrl:"your template url address",
controller:'your controller',
resolve: {
resolbeObject: function($route){
//**here you cannot use $routeParam to get "yourRouteParam"** property
// you must use : $route.current.params
}
}
})
});
但是在您的控制器中,您可以使用$ route.params获取yourRouteParam,即使您在路由配置中定义了路由参数,如下所示:
$routeProvider.when('/path/:**yourRouteParam**
注意如果要定义任何路由参数,则必须使用(:),而不是(?)
关于javascript - Angular routeParams未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24190737/