【发布时间】:2017-02-25 22:12:29
【问题描述】:
是否可以检测变量的变化?
我有以下几点:
@Input('name') name: string;
每当此变量“名称”发生更改时,我想调用一个函数。
有可能吗?
【问题讨论】:
标签: angular angular2-directives
是否可以检测变量的变化?
我有以下几点:
@Input('name') name: string;
每当此变量“名称”发生更改时,我想调用一个函数。
有可能吗?
【问题讨论】:
标签: angular angular2-directives
你可以这样做:
private _name = '';
@Input('name')
set name(name: string) {
this._name = name;
doSomeStuff();
}
get name(): string { return this._name; }
【讨论】:
我正在使用名为 OnChanges 的默认 Angular 功能解决这个问题,与 OnInit 非常相似。
【讨论】:
OnChanges 不会被触发。一个很好的解释在这里:medium.com/@isaacplmann/… 从这个角度来看,我会说上面的博客或@Mathias 中的 get / set 解决方案更好,但我不喜欢使用私有变量。