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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Rainer Hahnekamp
February 29, 2024
Technology
0
250
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
240
From Hours to Minutes - An AI Case Study with Sheriff
rainerhahnekamp
0
25
RxJS, Signals, and Native Observables: Answering the Critical Questions
rainerhahnekamp
0
25
Zurück in den Browser – Das Comeback der Frontend-Tests
rainerhahnekamp
0
71
From Hours to Minutes: An AI Case Study with Sheriff
rainerhahnekamp
0
130
RxJS, Signals & Native Observables
rainerhahnekamp
0
130
The Road to Angular Today Milestones, Mistakes & Momentum
rainerhahnekamp
0
130
Next Generation Angular
rainerhahnekamp
0
50
2025-09-05_Hold_the_Line.pdf
rainerhahnekamp
0
240
Other Decks in Technology
See All in Technology
事例から紐解くSHIFT流QA支援 ~大規模プロジェクトの品質管理支援、QA組織立ち上げ~ / 20260320 Nozomu Koketsu
shift_evolve
PRO
0
130
スピンアウト講座03_CLAUDE-MDとSKILL-MD
overflowinc
0
1k
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
170
「通るまでRe-run」から卒業!落ちないテストを書く勘所
asumikam
2
460
君はジョシュアツリーを知っているか?名前をつけて事象を正しく認識しよう / Do you know Joshua Tree?
ykanoh
2
110
「コントロールの三分法」で考える「コト」への向き合い方 / phperkaigi2026
blue_goheimochi
0
130
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
180
Escape from Excel方眼紙 ~マークダウンで繋ぐ、人とAIの架け橋~ /nikkei-tech-talk44
nikkei_engineer_recruiting
0
170
Tebiki Engineering Team Deck
tebiki
0
27k
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
180
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
qa
0
120
詳解 強化学習 / In-depth Guide to Reinforcement Learning
prinlab
0
360
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
GraphQLとの向き合い方2022年版
quramy
50
14k
Balancing Empowerment & Direction
lara
5
960
Information Architects: The Missing Link in Design Systems
soysaucechin
0
840
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
93
Agile that works and the tools we love
rasmusluckow
331
21k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Optimizing for Happiness
mojombo
378
71k
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