这可能是angularjs dev会遇到的常见问题,而且我不知道过去是否已经回答过这个问题,简短的搜索并没有给我结果。
好的,我有2条相关的路线,喜欢这样:
$stateProvider
.state('user', {
abstract: true,
templateUrl: 'views/sometemplate.html',
controller: 'UserCtrl'
})
.state('user.collection', {
url: '/user',
resolve: {
users: function(User) {
return User.query()
}
},
})
.state('user.detail', {
url: '/user/:id',
resolve: {
user: function($stateParams, User) {
return User.get({id: $stateParams.id})
}
},
});
问题在于,如果我访问路由/user
,则控制器需要两个提供者,用户和用户。
.controller('UserCtrl', function ($scope, user, users) {
$scope.user = user;
$scope.users = users;
})
你是否建议为此配备2个独立的控制器,如果是的话,你通常如何命名你的控制器,但我不认为它有2个不同的控制器很好,因为它并不完全不同,相同的领域仍然