单个控制器处理两个路径,集合和单个angularjs解析

时间:2014-09-20 02:18:17

标签: angularjs controller mvw

这可能是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个不同的控制器很好,因为它并不完全不同,相同的领域仍然

0 个答案:

没有答案