角度:如何使$scope属性与控制器功能保持同步

Angular: How to keep $scope properties in sync with controller functions?

本文关键字:功能 控制器 同步 属性 何使 scope 角度      更新时间:2023-09-26

我有一个这样的控制器:

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);
    }
  }

其中items由路由提供程序中的resolve返回。

如果UserFactory.removeItem在 cookie 或 localStorage 等设备上运行,或者对模型进行更改,那么更新$scope.items的最佳方式是什么

我应该让UserFactory.removeItem返回新items,还是应该直接在$scope.changeItems函数中做一些事情?

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

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