0

我的例子是肤浅的,简而言之,我试图访问我所拥有的当前范围的父数据:

我有一堆任务正在看。我需要注意 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
4

1 回答 1

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>
于 2013-01-26T18:37:16.783 回答