Angular:如何使$ scope属性与控制器函数保持同步?

时间:2016-02-13 23:09:56

标签: javascript angularjs

我有一个像这样的控制器:

angular.module('myApp')
  .controller('MyCtrl', function ($scope, items, UserFactory) {
    $scope.items = items;
    $scope.changeItems = function (item) {
      // Do something with items, in the UserFactory
      UserFactory.removeItem(items);
    }
  }

routeProvider中items返回resolve的位置。

如果UserFactory.removeItem对Cookie或localStorage等内容进行操作,或者对模型进行了更改,那么更新$scope.items

的最佳方法是什么?

我应该让UserFactory.removeItem返回新的items,还是应该直接在$scope.changeItems函数中执行某些操作?

1 个答案:

答案 0 :(得分:0)

您是否尝试过观察更改并进行回调?这是一个很好的例子,如何使用它们https://stackoverflow.com/a/17558885/5136207

因此,每次更改服务中的值时,您都可以调用观察器函数,该函数将对已注册的控制器进行回调并更新它们的值。