Angular2中监听数据更新的方法


Posted in Javascript onAugust 31, 2018

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

Javascript 相关文章推荐
通过继承IHttpHandle实现JS插件的组织与管理
Jul 13 Javascript
Dom 是什么的详细说明
Oct 25 Javascript
初学js 新节点的创建 删除 的步骤
Jul 04 Javascript
js监听输入框值的即时变化onpropertychange、oninput
Jul 13 Javascript
jQuery基础框架浅入剖析
Dec 27 Javascript
JS cookie中文乱码解决方法
Jan 28 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
Apr 06 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
Jun 06 Javascript
js实现字符串转日期格式的方法
May 20 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
Oct 26 Javascript
Angular 组件之间的交互的示例代码
Mar 24 Javascript
javascript中函数的写法实例代码详解
Oct 28 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
Aug 31 #Javascript
angular2组件中定时刷新并清除定时器的实例讲解
Aug 31 #Javascript
解决Angular4项目部署到服务器上刷新404的问题
Aug 31 #Javascript
Vue.directive使用注意(小结)
Aug 31 #Javascript
解决angular2 获取到的数据无法实时更新的问题
Aug 31 #Javascript
vue 项目中使用Loading组件的示例代码
Aug 31 #Javascript
解决Angular2 router.navigate刷新页面的问题
Aug 31 #Javascript
You might like
松下Panasonic RF-B65电路分析
2021/03/02 无线电
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
如何确保JavaScript的执行顺序 之实战篇
2011/03/03 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
jQuery实现点击查看大图并以弹框的形式居中
2016/08/08 Javascript
Vue制作Todo List网页
2017/04/26 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
2017/07/03 Javascript
Vue内容分发slot(全面解析)
2017/08/19 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
mpvue小程序循环动画开启暂停的实现方法
2019/05/15 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
python django 增删改查操作 数据库Mysql
2017/07/27 Python
python进行两个表格对比的方法
2018/06/27 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
利用python实现平稳时间序列的建模方式
2020/06/03 Python
Application Cache未缓存文件无法访问无法加载问题
2014/05/31 HTML / CSS
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
爱普生美国官网:Epson美国
2018/11/05 全球购物
美国在线和移动免费会员制批发零售商:Boxed(移动端的Costco)
2020/01/02 全球购物
学生党员思想汇报
2013/12/28 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
个人党性锻炼总结
2015/03/05 职场文书
歌咏比赛主持词
2015/06/29 职场文书
大学同学聚会感言
2015/07/30 职场文书
springboot创建的web项目整合Quartz框架的项目实践
2022/06/21 Java/Android