angular 2 - 006 change detection 脏治检查 - DC
ANGULAR CHANGE DETECTION EXPLAINED
引发脏治检查有三种方式:
- Events - click, submit, …
 - XHR - Fetching data from a remote server
 - Timers - setTimeout(), setInterval()
 
跳过子组件检查
跳过没必要的子组件检查可以提升性能
input是一个observables的时候, 如何实现跳过DC?
@Component({
  template: '{{counter}}',
  changeDetection: ChangeDetectionStrategy.OnPush
})
class CartBadgeCmp {
  @Input() addItemStream:Observable<any>;
  counter = 0;
  ngOnInit() {
    this.addItemStream.subscribe(() => {
      this.counter++; // application state changed
    })
  }
}
constructor(private cd: ChangeDetectorRef) {}
ngOnInit() {
    this.addItemStream.subscribe(() => {
      this.counter++; // application state changed
      this.cd.markForCheck(); // marks path
    })
  }
}
Virtual DOM
ng2引入VM, 实现只更新变化的视图部分
angular 2 - 006 change detection 脏治检查 - DC的更多相关文章
- Angular 1 深度解析:脏数据检查与 angular 性能优化
		
TL;DR 脏检查是一种模型到视图的数据映射机制,由 $apply 或 $digest 触发. 脏检查的范围是整个页面,不受区域或组件划分影响 使用尽量简单的绑定表达式提升脏检查执行速度 尽量减少页面 ...
 - Angular DirtyChecking(脏值检查)       $watch, $apply, $digest
		
Dirty Checking (脏值检查) Digest cycle and $scope Digest cycle and $scope First and foremost, AngularJS ...
 - Angular  - - 脏值检查及其相关
		
今天突然就想写写$digest和$apply,这些都是脏值检查的主体内容. 先以普通js来做一个简单的监控例子吧: var div = ducoment.getElementById("my ...
 - CHANGE DETECTION IN ANGULAR 2
		
In this article I will talk in depth about the Angular 2 change detection system. HIGH-LEVEL OVERVIE ...
 - [Angular & Unit Testing] Automatic change detection
		
When you testing Component rendering, you often needs to call: fixture.detectChanges(); For example: ...
 - AngularJS进阶(十六)脏值检查
		
脏值检查 注:请点击此处进行充电! 需求 在项目开发过程中,需要对药店信息进行更改.如下图所示.现在的需求是:当药店信息没有发生变化时,点击"更新信息"按钮,提示"药店信 ...
 - Angular1.x  DirtyChecking(脏值检查)       $watch, $apply, $digest
		
Dirty Checking (脏值检查) Digest cycle and $scope Digest cycle and $scope First and foremost, AngularJS ...
 - AngularJs 脏值检查及其相关
		
今天突然就想写写$digest和$apply,这些都是脏值检查的主体内容. 先以普通js来做一个简单的监控例子吧: var div = ducoment.getElementById("my ...
 - [Audio processing] Harmonic change detection function (HCDF)
		
Harmonic change detection function (HCDF) 是根据 Tonal Centroid (TC)实现的,首先TC如何提取? Step 1. 提取PCP特征 Step ...
 
随机推荐
- 048 SparkSQL自定义UDAF函数
			
一:程序 1.需求 实现一个求平均值的UDAF. 这里保留Double格式化,在完成求平均值后与系统的AVG进行对比,观察正确性. 2.SparkSQLUDFDemo程序 package com.sc ...
 - tp5的路由
			
路由模式:普通.强制和混合 普通模式: //配置文件关闭路由,完全使用默认的PATH_INFO方式URL 'url_route_on' => false, 关闭路由后的普通模式任然可以通过操作方 ...
 - Java常用API及Math类
			
一.API的概述 API——Application Programing Interface:应用程序编程接口,是java提供的一些预定义的函数: 目的:基于API实现程序的快速编写,只需了解其作用, ...
 - 实现Java简单继承
			
面向对象练习-简单继承 一.完成教师类的创建 说明: id 代表身份证号 name 表示姓名 birth 表示出生日期 title 表示职称(讲师,副教授,教授等) 二.完成学生类的创建 说明: ma ...
 - JMeter快速入门
			
今天的年会已过,仍然是空手而归,不过俺坚信能让生活稳定永远都是努力.由于隔壁组负责年会的抢红包项目,因而趁此机会把通过工具模拟高并发的知识补了补,通过和身边大师的交流,总算是对压力测试有了个简要的了解 ...
 - P2709 小B的询问-莫队
			
思路 :依旧是 分块 块内按照 r 排序 不同块按照 L排序,处理好增加 删除对结果的影响即可. #include<bits/stdc++.h> using namespace std; ...
 - linux学习笔记 ftp命令
			
ftp server with sites et up for downloaing files sometimes provides an anonymous ftp account 数据传输 ft ...
 - .net(二)
			
1.维护数据库的完整性.一致性.你喜欢用触发器还是自写业务逻辑?为什么? 答:尽可能用约束(包括CHECK.主键.唯一键.外键.非空字段)实现,这种方式的效率最好:其次用触发器,这种方式可以保证无论何 ...
 - Xamarin Essentials应用教程文件系统FileSystem
			
Xamarin Essentials应用教程文件系统FileSystem 文件系统用于管理设备内的各类文件.通过文件系统,应用程序可以创建永久文件和临时文件,也可以获取预先打包的文件,如预设数据库文件 ...
 - 权限框架Apache Shiro 和 Spring Security
			
Shiro 首先Shiro较之 Spring Security,Shiro在保持强大功能的同时,还在简单性和灵活性方面拥有巨大优势.Shiro是一个强大而灵活的开源安全框架,能够非常清晰的处理认证.授 ...