快速提问,是否有可能在下一阶段从$ routeProvider获得一个参数?
app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/home.html',
controller: 'IndexController'
})
.when('/students/:id', {
templateUrl: 'views/studentRecord.html',
controller: 'StudentsController',
resolve: {
students: function(getStudents) {
return getStudents.getAllStudents();
},
movies: function(getStudents,$stateParams) {
return getStudents.getStudentbyId($stateParams.id);
}
}
});
$locationProvider.html5Mode(true);
}]);
所以我的'getStudentbyId(5)'理想情况下我想得到:id值字段。经过大量的谷歌搜索后我找不到办法。有什么想法吗?
干杯
编辑:在我的app.config中注入$ stateParams时,得到'(匿名函数)angular.js:78'与我使用$ params时相同...例如。
app.config(['$routeProvider', '$locationProvider', '$stateParams', function($routeProvider, $locationProvider, $stateParams) {
答案 0 :(得分:6)
全部在 the docs :
请注意,
ngRoute.$routeParams
仍会引用这些解析函数中的上一个路径。使用$route.current.params
。
例如:
resolve: {
studentID: function ($route) {
return $route.current.params.id;
}
...
}
另请参阅 short demo 。