【发布时间】:2014-08-24 17:11:49
【问题描述】:
快速提问,是否可以在以下阶段从 $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 时,我得到的 '(anonymous function) angular.js:78' 与我使用 $params 时相同。例如。
app.config(['$routeProvider', '$locationProvider', '$stateParams', function($routeProvider, $locationProvider, $stateParams) {
【问题讨论】:
-
当时您是否尝试仅注入和使用 $stateParams?
-
我确实把 $stateParams 放进去了,编辑它的人做了..我刚刚看到..现在就试一试
-
@ipaul 在我的 app.config 中注入 $stateParams 时,我得到 '(anonymous function) angular.js:78' 与我使用 $params 时相同
-
我正要说“我没有看到 $stateParams 被注入”,但这是有道理的。此时您正在配置路由。我认为您最好的选择是在控制器中查找电影数据,其中可以注入 $stateParams。我知道这不是一个真正的答案,但依赖注入看起来并不适用于“解决”。
-
人!有
ngRoute和uiRouter。仅仅因为您在应用中使用模块并不意味着每个人都这样做(或应该)。
标签: angularjs params route-provider