Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Change Detection - Deep Dive
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Rainer Hahnekamp
February 29, 2024
Technology
0
240
Change Detection - Deep Dive
Rainer Hahnekamp
February 29, 2024
Tweet
Share
More Decks by Rainer Hahnekamp
See All by Rainer Hahnekamp
Vitest Highlights in Angular
rainerhahnekamp
0
160
From Hours to Minutes - An AI Case Study with Sheriff
rainerhahnekamp
0
15
RxJS, Signals, and Native Observables: Answering the Critical Questions
rainerhahnekamp
0
19
Zurück in den Browser – Das Comeback der Frontend-Tests
rainerhahnekamp
0
49
From Hours to Minutes: An AI Case Study with Sheriff
rainerhahnekamp
0
84
RxJS, Signals & Native Observables
rainerhahnekamp
0
97
The Road to Angular Today Milestones, Mistakes & Momentum
rainerhahnekamp
0
97
Next Generation Angular
rainerhahnekamp
0
39
2025-09-05_Hold_the_Line.pdf
rainerhahnekamp
0
210
Other Decks in Technology
See All in Technology
What happened to RubyGems and what can we learn?
mikemcquaid
0
310
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
0
100
プロポーザルに込める段取り八分
shoheimitani
1
470
20260204_Midosuji_Tech
takuyay0ne
1
160
AI駆動開発を事業のコアに置く
tasukuonizawa
1
270
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
310
Context Engineeringの取り組み
nutslove
0
360
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
820
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
150
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.4k
【Ubie】AIを活用した広告アセット「爆速」生成事例 | AI_Ops_Community_Vol.2
yoshiki_0316
1
110
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
230
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Amusing Abliteration
ianozsvald
0
100
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
Navigating Weather and Climate Data
rabernat
0
110
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
290
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
170
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
97
Transcript
RainerHahnekamp Deep Dive Change Detection Rainer Hahnekamp - 29. February
2024 - ngOslo
RainerHahnekamp About Me... Professional NgRx https://www.youtube.com/ @RainerHahnekamp https://www.ng-news.com https://github.com/softarc-consulting/sheriff •
Rainer Hahnekamp ANGULARarchitects.io • Developer / Trainer / Speaker Modern Spring for Angular @RainerHahnekamp
RainerHahnekamp Component Tree Web Application Submit Cancel Change Detection
RainerHahnekamp Component Tree Web Application Submit Cancel Change Detection
RainerHahnekamp Component Tree Web Application Submit Cancel Change Detection
RainerHahnekamp Component Tree Web Application Submit Cancel Change Detection
RainerHahnekamp Component Tree Web Application Submit Cancel Change Detection
RainerHahnekamp Component Tree Web Application Submit Cancel Change Detection
RainerHahnekamp Component Tree Web Application Submit Cancel Change Detection
RainerHahnekamp Component Tree Web Application Submit Cancel Change Detection
RainerHahnekamp Component Tree Web Application Submit Cancel Change Detection
RainerHahnekamp Triggers for Change Detection Handled DOM Events Asynchronous Tasks
RainerHahnekamp 1. Change Detection with Default Strategy = OnPush =
Default 1. Waiting for Events 3. Dirty Marking 4. Change Detection zone.js 2. Event Happens
RainerHahnekamp Change Detection: OnPush • Only checks if Component is
dirty • No dirty marking by asynchronous task!
RainerHahnekamp 2. Change Detection: Click Event in Default Component =
OnPush = Default 1. Waiting for Events 3. Dirty Marking 4. Change Detection zone.js 2. Event Happens
RainerHahnekamp 3. Change Detection: Click Event in OnPush Component =
OnPush = Default 1. Waiting for Events 3. Dirty Marking 2. Event Happens 4. Change Detection zone.js
RainerHahnekamp Criteria markForCheck Immutable Property Binding Handled DOM Events async
Pipe Signal Change (Local Change Detection) manually via markForCheck
RainerHahnekamp 4. Local Change Detection: Signal Change in OnPush Component
= OnPush = Default 1. Waiting for Events 3. Dirty Marking 4. Change Detection zone.js 2. Event Happens
RainerHahnekamp Change Detection in the Future • Careful with OnPush
with zone.js • "Acceptable" with upcoming Scheduler • Simple & Easy with upcoming Signal Components
RainerHahnekamp Further Reading and Watching https://medium.com/ngconf/ngrx-signal-store-the-mis sing-piece-to-signals-ac125d804026 https://youtu.be/0PJPZ3rLqrY