AngularJS:使用服务对象保持视图更新

时间:2014-08-19 15:10:10

标签: angularjs

我在服务中有一个对象,它是从PouchDB异步加载的。

我无法以任何方式更新视图,因为服务对象已更新。我已经遵循了许多教程,答案,plnkrs,要点,但是无法得到它。

有关我的示例,请参阅http://plnkr.co/edit/jtFNs5FbrDBLlyZ5TATn?p=preview。有什么想法吗?

控制器代码:

var hubApp = angular.module('hubApp', []);

hubApp.service('objService', function($q, $timeout) {
  var objects = [];
  this.getObjects = function() {
      var data = $q.defer();
      var foo = data.promise;
      $timeout(function() {
        data.resolve([{"name": "first"},{"name": "second"}]);
      }, 2);
      foo.then(function(objs){
        console.log(objs);
        angular.forEach(objs, function(obj) {
          objects.push(obj);
        })
        console.log(objects);
      });
  }
  this.getObjects();
});

hubApp.controller('ListCrtl', ['$scope', 'objService',  
  function ($scope, objService) {
    $scope.objects = objService.objects;
  }
]);

查看代码:

  <body ng-controller="ListCrtl">
    <p ng-repeat="item in objects">Hello {{item.name}}!</p>
  </body>

感谢。

0 个答案:

没有答案