如何访问父母范围的数据?例如:child。$ parent.id

时间:2013-01-26 18:29:39

标签: model scope angularjs

我的例子是肤浅的,缺点是我正在尝试访问我当前范围的父数据:

我正在观看一系列任务。我需要关注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

1 个答案:

答案 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>