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中监听数据更新的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。
如对本文有疑问, 点击进行留言回复!!
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
分享Angular http interceptors 拦截器使用(推荐)
网友评论