Angularjs从routeProvider中检索param

myg*_*221 3 params angularjs route-provider

快速问题,是否可以在下面的阶段从$ 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);
Run Code Online (Sandbox Code Playgroud)

}]);

所以,我有'getStudentbyId(5)'理想情况下,我想得到:id值字段.经过大量的谷歌搜索后我找不到办法.有任何想法吗?

干杯

编辑:当我在我的app.config中注入$ stateParams时,我得到'(匿名函数)angular.js:78'与我使用$ params时相同...例如.

app.config(['$routeProvider', '$locationProvider', '$stateParams', function($routeProvider, $locationProvider, $stateParams) {
Run Code Online (Sandbox Code Playgroud)

gka*_*pak 6

一切都在文档中:

请注意,ngRoute.$routeParams这些解析函数中仍将引用先前的路径.使用$route.current.params.


例如:

resolve: {
    studentID: function ($route) {
        return $route.current.params.id;
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

请参阅这个简短的演示.