[Angular] Angular Custom Change Detection with ChangeDetectorRef
Each component has its own ChangeDetectorRef, and we can inject ChangeDetectorRef into constructor:
export class ChildComponent implements OnInit { constructor( private cdr: ChangeDetectorRef )
For example if you have a huge list can be updated in real time though some real time database.
Update in real time is really expensive for huge list.
We have build a custom change detector, for example, update every 5 seconds, to check changes, to do that, we need to two things,
1. Disable default change detector
2. Check for changes every 5 seconds.
import { Component, OnInit, ChangeDetectorRef } from '@angular/core'; import { ListService } from './list.service'; @Component({ selector: 'app-child', templateUrl: './child.component.html', styleUrls: ['./child.component.css'] }) export class ChildComponent implements OnInit { constructor( private cdr: ChangeDetectorRef, private dataProvider: ListService ) { // disable default change detector cdr.detach(); // now every 5second, do a check for its child tree setInterval(() => { this.cdr.detectChanges(); }, 5000); } ngOnInit() { } }
There is another API: reattach() which uses for reset to default Angular change dectctor.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2018-01-28 [MST] Defining Asynchronous Processes Using Flow
2018-01-28 [MST] Restore the Model Tree State using Hot Module Reloading when Model Definitions Change
2018-01-28 [MST] Store Store in Local Storage
2018-01-28 [MST] Create an Entry Form to Add Models to the State Tree
2018-01-28 [MST] Remove Model Instances from the Tree
2018-01-28 [MST] Build Forms with React to Edit mobx-state-tree Models