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 相关文章推荐
ExtJS4 组件化编程,动态加载,面向对象,Direct
May 12 Javascript
javascript开发技术大全-第3章 js数据类型
Jul 03 Javascript
JS操作select下拉框动态变动(创建/删除/获取)
Jun 02 Javascript
使用typeof方法判断undefined类型
Sep 09 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
Jun 11 Javascript
JavaScript学习小结(7)之JS RegExp
Nov 29 Javascript
JS实现的幻灯片切换显示效果
Sep 07 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
Sep 21 Javascript
详解如何使用webpack打包Vue工程
May 27 Javascript
JS中数据结构之栈
Jan 01 Javascript
React+TypeScript+webpack4多入口配置详解
Aug 08 Javascript
vue点击按钮实现简单页面的切换
Sep 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
BBS(php &amp; mysql)完整版(六)
2006/10/09 PHP
escape unescape的php下的实现方法
2007/04/27 PHP
PHP 配置文件中open_basedir选项作用
2009/07/19 PHP
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
10个实用的PHP正则表达式汇总
2014/10/23 PHP
PHP中的socket_read和socket_recv区别详解
2015/02/09 PHP
php使用正则验证中文
2016/04/06 PHP
php面向对象的用户登录身份验证
2017/06/08 PHP
javascript 一段左右两边随屏滚动的代码
2009/06/18 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
Prototype框架详解
2015/11/25 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
2019/12/09 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
理解Python中的类与实例
2015/04/27 Python
Python批量转换文件编码格式
2015/05/17 Python
Python实现k-means算法
2018/02/23 Python
Python 数据可视化pyecharts的使用详解
2019/06/26 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
中专自荐信
2013/10/13 职场文书
关于倡议书的范文
2015/04/29 职场文书
SQL SERVER触发器详解
2022/02/24 SQL Server
SQL Server数据库查询出现阻塞之性能调优
2022/04/10 SQL Server