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 相关文章推荐
jquery插件 autoComboBox 下拉框
Dec 22 Javascript
html a标签-超链接中confirm方法使用介绍
Jan 04 Javascript
JS:window.onload的使用介绍
Nov 13 Javascript
jQuery对象初始化的传参方式
Feb 26 Javascript
Bootstrap每天必学之附加导航(Affix)插件
Apr 25 Javascript
JS随机打乱数组的方法小结
Jun 22 Javascript
Vue监听数据对象变化源码
Mar 09 Javascript
jquery加载单文件vue组件的方法
Jun 20 jQuery
vue使用代理解决请求跨域问题详解
Jul 24 Javascript
关于vue组件事件属性穿透详解
Oct 28 Javascript
Vue+elementUI实现多图片上传与回显功能(含回显后继续上传或删除)
Mar 23 Javascript
javascript实现移动端轮播图
Dec 09 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最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
PHP不用递归实现无限分级的例子分享
2014/04/18 PHP
Codeigniter(CI)框架分页函数及相关知识
2014/11/03 PHP
php数据访问之增删改查操作
2016/05/09 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
js url传值中文乱码之解决之道
2009/11/20 Javascript
12款经典的白富美型—jquery图片轮播插件—前端开发必备
2013/01/08 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
js/jQuery简单实现选项卡功能
2014/01/02 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
JavaScript里四舍五入函数round用法实例
2015/04/06 Javascript
浅谈JavaScript 的执行顺序
2015/08/07 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
vue2.0安装style/css loader的方法
2018/03/14 Javascript
Webpack 4.x搭建react开发环境的方法步骤
2018/08/15 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
JavaScript实现省市联动效果
2019/11/22 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
在Django的视图(View)外使用Session的方法
2015/07/23 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
深入浅出学习python装饰器
2017/09/29 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
预订奥兰多和佛罗里达州公园门票:FloridaTix
2018/01/03 全球购物
澳大利亚百货商店中销量第一的商务衬衫品牌:Van Heusen
2018/07/26 全球购物
2014年高三毕业生自我评价
2014/01/11 职场文书
公务员培训自我鉴定
2014/02/01 职场文书
学生安全教育材料
2014/02/14 职场文书
护理专业自荐书
2014/06/04 职场文书
人事部:年度述职报告范文
2019/07/12 职场文书