我有一个模型:
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”会告诉我何时添加/删除项目,但不更改。
$watchCollection
正如你所指出的,只能观察变化List
不适用于列表项目的更改。这样做的原因是观察每个对象都会具有爆炸性数量的属性。
scope.$watch(() => wordList, onChange);
你可以实施onChange
方法的方式是,它将在每个新项目上创建更多监视,并在从集合中删除项目时取消注册监视。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)