JavaScript

超轻量级php框架startmvc

Angular2中监听数据更新的方法

更新时间:2020-07-24 08:48:01 作者:startmvc
angular2模型数据更新了,需要监听数据改变,一、实现接口Docheck,检测页面上所有元素数据

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中监听数据更新的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。