Hi Rainer, thanks for the clear explanation. I would like to add that we now have two types of ChangeDetectionMode: Global and Targeted. It's important to clarify that signals excel in the Targeted mode, where we do not use the Dirty flag. Instead, we utilize the RefreshView flag, and markAncestorsForTraversal with a HasChildViewsToRefresh flag. There is no Local Change Detection now, but with signals under special conditions, we can achieve a similar behavior. Thanks once more for your work.
Hi Aleksandr, yeah, the way you described it, this is pretty much how I see Local Change Detection (without going so much into implementation details as you did). Since you are not happy with the term "Local Change Detection", you would use Local CD only, when the Change Detection can directly jump to the marked component or what does local change detection mean to you?
@@RainerHahnekamp First of all, I want to thank you for all your videos. It's impressive how well you describe different topics. My comment was just to highlight the differences in current CD with signals. The naming is a bit confusing for me (someone suggested the name "Glocal"...). I hope we'll see Local CD once Signal components are fully implemented. Currently, we traverse from top to bottom in the best cases, and if a click on a child component triggers a signal at the top parent, we don't see much benefit.
@@aleksandrm3466 Thanks, thanks, and you are totally right. I was just interested in what you would see as a "real" local change detection. Obviously, you've studied the source code because you know the internal names. There used to be a term floating around, coined "Signal Change Detection". That one will be the ONE. I agree that local/targeted change detection is very difficult to achieve. You need to have an asynchronous command because any user event will already mark all parents as dirty.
Another great video, it's good that you're covering entire scope of change detection over Angular versions, not only the new approaches introduced in most recent versions of Angular. So by explaining entire scope we can get a complete overview, not just bits of it. Thank you, great work!
Thanks, yes it was important to me to cover everything. It is very easy to get confused these days. I guess the next revised version will be with SignalComponents. Then we have probably "three generations" of Change Detection. Although I think the term to be used then will by "Synchronization".
Hi Rainer! Thanks for another great video There is a thing worth mentioning about signals that may seem obvious, but it's still worth mentioning this Signals only mark a component as dirty if the signal is used in a template Otherwise, the component will not be subject to CD checking
Hi rainer, I am enjoying your videos, Your ability to simplify and demonstrate complex topics is amazing!!!. Can you make a video about angular's life cycle methods?
Hi Barak, first of all thanks for your compliment. Honestly, I see the life-cycle hooks coming out of age very quickly. There is a talk of Matthieu Riegler (ruclips.net/user/live5m0eqGxrLUo?si=P46HQBTfh3O0cIkO) where shows that a modern Angular application doesn't require lifecycle hooks anymore. But I am happy to answer any specific question you might have about lifecycle hooks.
i was asked in my job interview about change detection and i was able to answer only because of your older video... (i got the job) thanks Rainer.!!! have a good day
Thank you very much from python backend developer. I not only teach angular, but I also try better understand English with you. Hi from Ukraine/Kiev Why I like Angular, because it reminded me the Django Framework. Unfortunately Django not enhance in the same way.
Hello, hello from Vienna 👋. Unfortunately, I've never used Django. I have a little bit of experience in Python but used to work mainly with Spring or .NET in the backend. Thanks for the compliment that you also see my video as a way to improve your English. I must say, I didn't expect that. Thanks!
Rainer, you are incredible! Your contributions to the Angular community are invaluable. Thank you for everything!
Thanks, thanks, don’t get me blushed 😅
Hi Rainer, thanks for the clear explanation. I would like to add that we now have two types of ChangeDetectionMode: Global and Targeted. It's important to clarify that signals excel in the Targeted mode, where we do not use the Dirty flag. Instead, we utilize the RefreshView flag, and markAncestorsForTraversal with a HasChildViewsToRefresh flag. There is no Local Change Detection now, but with signals under special conditions, we can achieve a similar behavior. Thanks once more for your work.
Hi Aleksandr, yeah, the way you described it, this is pretty much how I see Local Change Detection (without going so much into implementation details as you did).
Since you are not happy with the term "Local Change Detection", you would use Local CD only, when the Change Detection can directly jump to the marked component or what does local change detection mean to you?
@@RainerHahnekamp First of all, I want to thank you for all your videos. It's impressive how well you describe different topics. My comment was just to highlight the differences in current CD with signals. The naming is a bit confusing for me (someone suggested the name "Glocal"...). I hope we'll see Local CD once Signal components are fully implemented. Currently, we traverse from top to bottom in the best cases, and if a click on a child component triggers a signal at the top parent, we don't see much benefit.
@@aleksandrm3466 Thanks, thanks, and you are totally right. I was just interested in what you would see as a "real" local change detection. Obviously, you've studied the source code because you know the internal names. There used to be a term floating around, coined "Signal Change Detection". That one will be the ONE.
I agree that local/targeted change detection is very difficult to achieve. You need to have an asynchronous command because any user event will already mark all parents as dirty.
Each of your lecture is like a goldmine of angular knowledge..
So many deep insights to explore. Thanks for doing these.
You're very welcome!
Another great video, it's good that you're covering entire scope of change detection over Angular versions, not only the new approaches introduced in most recent versions of Angular. So by explaining entire scope we can get a complete overview, not just bits of it. Thank you, great work!
Thanks, yes it was important to me to cover everything. It is very easy to get confused these days. I guess the next revised version will be with SignalComponents. Then we have probably "three generations" of Change Detection. Although I think the term to be used then will by "Synchronization".
Thank you Rainer, it is always a pleasure to watch your videos!
Thank you. Good to hear. A lot of good vibes here :)
ur knowledge is out of this world
Thank you so much for your kind words
Great video - very good teaching style, especially with the live coding examples and showing whats really going on with rendering cycles.
Thanks a lot Matrium. Highly appreciated
This is an excellent overview, thanks!
Thanks a lot Kiffin
Hi Rainer!
Thanks for another great video
There is a thing worth mentioning about signals that may seem obvious, but it's still worth mentioning this
Signals only mark a component as dirty if the signal is used in a template
Otherwise, the component will not be subject to CD checking
Ah, yes, I thought that should be clear, but since you mentioned it: A proper hint in the next video should do it. Thanks
Hi rainer,
I am enjoying your videos,
Your ability to simplify and demonstrate complex topics is amazing!!!.
Can you make a video about angular's life cycle methods?
Hi Barak, first of all thanks for your compliment. Honestly, I see the life-cycle hooks coming out of age very quickly. There is a talk of Matthieu Riegler (ruclips.net/user/live5m0eqGxrLUo?si=P46HQBTfh3O0cIkO) where shows that a modern Angular application doesn't require lifecycle hooks anymore.
But I am happy to answer any specific question you might have about lifecycle hooks.
i was asked in my job interview about change detection and i was able to answer only because of your older video... (i got the job) thanks Rainer.!!! have a good day
Wow, that's nice to hear. Congrats!
Great Rainer, thanks a lot!
Thanks and you are welcome, Mr CodeSurvivor 👍
Thanks @Rainer🎉
As always, you very welcome Roland!
Impressive. Going to be my go-to guide for change detection now onwards...
Thanks, that's very kind of you.
Thank you very much from python backend developer.
I not only teach angular, but I also try better understand English with you.
Hi from Ukraine/Kiev
Why I like Angular, because it reminded me the Django Framework. Unfortunately Django not enhance in the same way.
Hello, hello from Vienna 👋. Unfortunately, I've never used Django. I have a little bit of experience in Python but used to work mainly with Spring or .NET in the backend.
Thanks for the compliment that you also see my video as a way to improve your English. I must say, I didn't expect that. Thanks!
Thnx again!
You're welcome
Thanks!
Man, I learn python in 45 minutes.... make it shorter
Nope, I don't really belive in "learn xy in 5 minutes..." videos. If you want to learn something seriously, you need to put in the necessary time.
I hope it was a sarcasm. we need to ask for 5h videos instead. Rainer is a GDE and you just get this for free...
Great Tutorial! Thnx @Hahnekamp!
Thanks Leonardo