Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Change Detection - Deep Dive
Search
Rainer Hahnekamp
February 29, 2024
Technology
0
230
Change Detection - Deep Dive
Rainer Hahnekamp
February 29, 2024
Tweet
Share
More Decks by Rainer Hahnekamp
See All by Rainer Hahnekamp
From Hours to Minutes - An AI Case Study with Sheriff
rainerhahnekamp
0
8
RxJS, Signals, and Native Observables: Answering the Critical Questions
rainerhahnekamp
0
9
Zurück in den Browser – Das Comeback der Frontend-Tests
rainerhahnekamp
0
36
From Hours to Minutes: An AI Case Study with Sheriff
rainerhahnekamp
0
44
RxJS, Signals & Native Observables
rainerhahnekamp
0
69
The Road to Angular Today Milestones, Mistakes & Momentum
rainerhahnekamp
0
73
Next Generation Angular
rainerhahnekamp
0
33
2025-09-05_Hold_the_Line.pdf
rainerhahnekamp
0
180
Test Fest | Angular Unit Tests Distilled
rainerhahnekamp
0
440
Other Decks in Technology
See All in Technology
高度サイバー人材育成専科資料(前半)
nomizone
0
500
Kiro を用いたペアプロのススメ
taikis
4
1.6k
LayerX QA Night#1
koyaman2
0
210
Amazon Quick Suite で始める手軽な AI エージェント
shimy
1
1.6k
Connection-based OAuthから学ぶOAuth for AI Agents
flatt_security
0
270
2025年 開発生産「可能」性向上報告 サイロ解消からチームが能動性を獲得するまで/ 20251216 Naoki Takahashi
shift_evolve
PRO
2
210
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
1.9k
コンテキスト情報を活用し個社最適化されたAI Agentを実現する4つのポイント
kworkdev
PRO
1
1.8k
AWSインフルエンサーへの道 / load of AWS Influencer
whisaiyo
0
200
【開発を止めるな】機能追加と並行して進めるアーキテクチャ改善/Keep Shipping: Architecture Improvements Without Pausing Dev
bitkey
PRO
1
110
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
210
Snowflake導入から1年、LayerXのデータ活用の現在 / One Year into Snowflake: How LayerX Uses Data Today
civitaspo
0
2.1k
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
63
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
0
290
Designing Powerful Visuals for Engaging Learning
tmiket
0
180
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.3k
Designing for Timeless Needs
cassininazir
0
88
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
110
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
66
For a Future-Friendly Web
brad_frost
180
10k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
180
BBQ
matthewcrist
89
9.9k
Tell your own story through comics
letsgokoyo
0
750
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