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 に答える