我正在尝试在我的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之外,还有什么我需要设置的内容吗?
答案 0 :(得分:2)
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获取您的路线障碍,就像您在路线配置中定义路线参数一样:
$routeProvider.when('/path/:**yourRouteParam**
注意如果要定义必须使用的任何路由参数(:),而不是(?)