我的例子是肤浅的,缺点是我正在尝试访问我当前范围的父数据:
我正在观看一系列任务。我需要关注task.data何时更改
<div ng-repeat='task in tasks'>
<input type='checkbox' ng-model='task.data' />
</div>
但是我需要根据它的id更新任务,所以我想的是像child。$ parent
exp = 'tasks.task[0].data'
$scope.$watch exp, (old_val,new_val,child)=>
if new_value is 'something'
id = child.$parent.id
@MyService.do_stuff id
答案 0 :(得分:3)
在大多数情况下,您不应该尝试访问父作用域。在你的情况下,我不确定你为什么要这样做。如果你只需要对变化作出反应,为什么不这样:
$scope.checkTask = function( id ) {
MyService.do( id )
};
<div ng-repeat="task in tasks">
<input type="checkbox" ng-model="task.data" ng-change="checkTask(task.id)" />
</div>