如何观看AngularDart系列的元素?

时间:2014-01-06 17:03:31

标签: dart angular-dart

我有一个模特:

class WordList {
  List<Word> words = [];
}

它是通过依赖注入我的一个视图创建的。

@NgController(
    selector: '[list-ctrl]',
    publishAs: 'ctrl'
)
class ListCtrl {
  WordList wordList;
  Scope scope;

  ListCtrl(this.router, this.wordList, this.scope) {
    scope.$watchCollection("", onChange );
  }

每当从该列表修改项目时,我都想运行一些逻辑。我该如何做到这一点?

我相信关键是在$ watchCollection中,但我无法弄清楚要作为监视表达式传递什么。 “ctrl.wordList.words”将告诉我何时添加/删除项目,但不会更改。

1 个答案:

答案 0 :(得分:6)

您指出

$watchCollection只能查看List中的更改,而不是列表项目中的更改。这样做的原因是观察每个对象会有爆炸性的属性。

scope.$watch(() => wordList, onChange);

您可以通过以下方式实现onChange方法,以便在每个新项目上创建更多监视,并从集合中删除项目移除时的监视。