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 相关文章推荐
JavaScript 图片预览效果 推荐
Dec 22 Javascript
屏蔽F1~F12的快捷键的js函数
May 06 Javascript
jquery遍历select元素(实例讲解)
Dec 31 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
Aug 12 Javascript
详解AngularJS如何实现跨域请求
Aug 22 Javascript
微信小程序 表单Form实例详解(附源码)
Dec 22 Javascript
javascript数组去重常用方法实例分析
Apr 11 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
Apr 25 Javascript
Vue axios 中提交表单数据(含上传文件)
Jul 06 Javascript
关于JavaScript中forEach和each用法浅析
Jul 27 Javascript
gulp教程_从入门到项目中快速上手使用方法
Sep 14 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
Sep 02 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
实用函数2
2007/11/08 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
两个DIV等高的JS的实现代码
2007/12/23 Javascript
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
详解JavaScript对象类型
2016/06/16 Javascript
详解Javascript中的原型OOP
2016/10/12 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
微信小程序动态显示项目倒计时效果
2017/06/13 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
JavaScript数值类型知识汇总
2019/11/17 Javascript
使用python获取CPU和内存信息的思路与实现(linux系统)
2014/01/03 Python
Python实例之wxpython中Frame使用方法
2014/06/09 Python
Python中的字典与成员运算符初步探究
2015/10/13 Python
Python操作MySQL数据库9个实用实例
2015/12/11 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
EM算法的python实现的方法步骤
2018/01/02 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
python中str内置函数用法总结
2020/12/27 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
伊莱克斯阿根廷网上商店:Tienda Electrolux
2021/03/08 全球购物
PHP如何删除一个Cookie值
2012/11/15 面试题
值传递还是引用传递
2015/02/08 面试题
安全员岗位职责范本
2015/04/11 职场文书
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android