AngularJS: Как посмотреть сервисные переменные?

У меня есть служба, скажи:

factory('aService', ['$rootScope', '$resource', function ($rootScope, $resource) {
  var service = {
    foo: []
  };

  return service;
}]);

И я хотел бы использоватьfoo управлять списком, который отображается в HTML:


  {{ item }}

Для того, чтобы контроллер обнаружил, когдаaService.foo обновлен Я соединил этот шаблон, где я добавляю aService к контроллеру$scope а затем используйте:$scope.$watch()

function FooCtrl($scope, aService) {                                                                                                                              
  $scope.aService = aService;
  $scope.foo = aService.foo;

  $scope.$watch('aService.foo', function (newVal, oldVal, scope) {
    if(newVal) { 
      scope.foo = newVal;
    }
  });
}

Это чувствует себя длинным, и яповторял это в каждом контроллере, который использует сервиспеременные Есть ли лучший способ для просмотра общих переменных?

Ответы на вопрос(21)

Ваш ответ на вопрос