我在组件中有一个变量被声明为:
public filter: Filter = {};
在模板中,我将这个对象绑定为:
<input [ngModel]="filter.name" value=""/>
<input [ngModel]="filter.secondname" value=""/>
如何监听更改此变量(对象)filter
?
我的意思是这样的:
this.filter.subscribe().then(changes => { // Call method here })
PS:
我不想为每个输入元素使用事件ngChange=""
答案 0 :(得分:2)
如果您想订阅它,那么您必须使它成为可以订阅的可观察对象。即
filter: Observable<Filter>;
然后,如果您从服务中检索数据,而不是订阅该服务,只需将其保存到变量即可。即:
filter = this.someService.getFilter();
或者,如果您没有使用服务来检索Filter
数据,则可以使用所需的值创建一个observable:this.filter = Observable.of(myFilter);
然后,您就可以在任何需要的地方订阅this.filter
:this.filter.subscribe(data => ...)
答案 1 :(得分:1)