注意范围内的变化

时间:2016-01-03 10:51:45

标签: angularjs

我有一个名为$scope.activites的作用域,用于存储来自服务的响应数据,

activitiesService.loadActivities().then(function(response) {
  $scope.activities = response.data;
  console.log ($scope.activities)
})

$scope.activities更改时,我想在模板的图标中添加一个类。

%i.fa.fa-bell{"ui-sref" => "home.activities"

然后在用户查看新活动时删除该课程。

我想我需要使用watch并查找活动范围的更改,然后执行操作。我尝试将此代码添加到活动控制器

$scope.$watch('activities', function(newValue, oldValue) {
  console.log ('new activity')
})

但是这只是在每次加载活动控制器时运行,而不仅仅是在范围发生变化时。

1 个答案:

答案 0 :(得分:1)

因为你想以某种方式在你的范围内保持一个状态(由你的控制器创建),你不能这样做。 您将需要一个服务来存储“活动”数组/对象的当前状态。 然后在加载新活动时检查对象是否相等,以检查该对象/数组的“状态”是否已更改。