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、定义模板驱动表单名
2、ts 文件中新建一个表单元素对象。<input type = "text" pInputText size = "50" [ formControl ]= "term" placeholder = "输入搜索条件" >colo = new FormControl (); 3、ngonInit中订阅数据更新
this . colo . valueChanges . distinctUntilChanged (). subscribe (( ast ) => {//do something})
Angular2中监听数据更新
最新推荐文章于 2023-08-30 12:20:11 发布