$30 off During Our Annual Pro Sale. View Details »
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
65
The Road to Angular Today Milestones, Mistakes & Momentum
rainerhahnekamp
0
71
Next Generation Angular
rainerhahnekamp
0
32
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
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
1.3k
ActiveJobUpdates
igaiga
1
240
Lessons from Migrating to OpenSearch: Shard Design, Log Ingestion, and UI Decisions
sansantech
PRO
1
160
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
1
170
WordPress は終わったのか ~今のWordPress の制作手法ってなにがあんねん?~ / Is WordPress Over? How We Build with WordPress Today
tbshiki
2
850
コンテキスト情報を活用し個社最適化されたAI Agentを実現する4つのポイント
kworkdev
PRO
1
1.7k
Kiro を用いたペアプロのススメ
taikis
3
900
SQLだけでマイグレーションしたい!
makki_d
0
1.1k
Connection-based OAuthから学ぶOAuth for AI Agents
flatt_security
0
100
Strands AgentsとNova 2 SonicでS2Sを実践してみた
yama3133
1
950
チーリンについて
hirotomotaguchi
6
2.1k
Agent Skillsがハーネスの垣根を超える日
gotalab555
2
710
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
87
エンジニアに許された特別な時間の終わり
watany
105
220k
Done Done
chrislema
186
16k
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
73
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
0
59
sira's awesome portfolio website redesign presentation
elsirapls
0
87
Automating Front-end Workflow
addyosmani
1371
200k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5k
Designing for humans not robots
tammielis
254
26k
Designing for Performance
lara
610
69k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
320
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