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 相关文章推荐
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
Oct 31 Javascript
js Html结构转字符串形式显示代码
Nov 15 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 Javascript
jquery实现的网页自动播放声音
Apr 30 Javascript
javascript排序函数实现数字排序
Jun 26 Javascript
Three.js快速入门教程
Sep 09 Javascript
AngularJS路由实现页面跳转实例
Mar 03 Javascript
JS对象的深度克隆方法示例
Mar 16 Javascript
微信小程序 sha1 实现密码加密实例详解
Jul 06 Javascript
微信小程序自定义导航栏
Dec 31 Javascript
JavaScrip数组去重操作实例小结
Jun 20 Javascript
nuxt配置通过指定IP和端口访问的实现
Jan 08 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
十天学会php之第十天
2006/10/09 PHP
PHP调用三种数据库的方法(3)
2006/10/09 PHP
服务器web工具 php环境下
2010/12/29 PHP
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
Codeigniter购物车类不能添加中文的解决方法
2014/11/29 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
详解Javascript中DOM的范围
2017/02/13 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
element vue Array数组和Map对象的添加与删除操作
2018/11/14 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
2020/09/05 Javascript
深入浅析Python中的yield关键字
2018/01/24 Python
python下解压缩zip文件并删除文件的实例
2018/04/24 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
Python3实现飞机大战游戏
2020/04/24 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
python爬虫调度器用法及实例代码
2020/11/30 Python
英文版销售经理个人求职信
2013/11/20 职场文书
清华大学自主招生自荐信
2014/01/29 职场文书
庆中秋节主题活动方案
2014/02/03 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
2014年纪检工作总结
2014/11/12 职场文书
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android
Tomcat starup.bat 脚本实现开机自启动
2022/04/20 Servers