angular2 模型數據更新了,需要監聽數據改變,
一、實現接口Docheck,檢測頁面上所有元素數據更新
import { Component, DoCheck } from "@angular/core";export class LangListUserComponent implements DoCheck {constructor(private differs: KeyValueDiffers) {}ngOnInit() { this.objDiffer = {}; this.list.forEach((elt) => { this.objDiffer[elt] = this.differs.find(elt).create(null); });}ngDoCheck() { this.list.forEach(elt => { var objDiffer = this.objDiffer[elt]; var objChanges = objDiffer.diff(elt); if (objChanges) { objChanges.forEachChangedItem((elt) => { if (elt.key === 'prop1') { this.doSomethingIfProp1Change(); } }); } });}二、針對頁面上某個元素的數據更新做處理
1、定義模板驅動表單名
<input type="text" pInputText size="50" [formControl]="term" placeholder="輸入搜索條件">
2、ts 文件中新建一個表單元素對象。
colo = new FormControl();
3、ngonInit中訂閱數據更新
this.colo.valueChanges.distinctUntilChanged().subscribe((ast) => {//do something})以上這篇Angular2中監聽數據更新的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答