有一个服务:
factory('aService', ['$rootScope', '$resource', function ($rootScope, $resource) { var service = { foo: [] }; return service;}]);我想foo用来控制在HTML中呈现的列表:
<div ng-controller="FooCtrl"> <div ng-repeat="item in foo">{{ item }}</div></div>为了让控制器检测何时aService.foo更新我已经拼凑在一起这种模式,我添加一个服务控制器$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; } });}这感觉是长期的,我已经在使用服务变量的每个控制器中重复它。有没有更好的方法来完成观看共享变量?
相似问题