Change Detection in Angular - Pt.1 View Checking

Поделиться
HTML-код
  • Опубликовано: 19 июл 2024
  • 💥 Become a PRO with my in-depth Angular Forms Course💥
    🔗 10% discount for the first 10 students - bit.ly/advanced-ng-forms-disc...
    This video is the first one in a video series that describes the Change Detection process in Angular and shows how everything works under the hood. In this video, we will focus more on the View Checking process and learn how Angular synchronizes the component views with corresponding data models (classes). I hope you will learn a lot from this video.
    🕒 Time Codes:
    00:00:00 - Intro;
    00:01:47 - High-Level overview of View Checking process;
    00:07:56 - Promo: Advanced Angular Forms course;
    00:09:41 - Deep Dive into View Checking process;
    00:16:57 - Outro;
    💡 Short Frontend Snacks (Tips) every week here:
    Twitter - / decodedfrontend
    Instagram - / decodedfrontend
    LinkedIn - / dmezhenskyi

Комментарии • 74

  • @IhorKhomiak
    @IhorKhomiak 7 дней назад

    So good explanation of the Change Detection mechanism!

  • @user-cx7wz9mm1q
    @user-cx7wz9mm1q 14 дней назад

    Watching all of your videos. You have improved my career so much bro, many thanks...🙏

  • @haroldpepete
    @haroldpepete Год назад +2

    you have become in the authorize voice in topics related to the angular world, in my personal perception

  • @michelvidailhet
    @michelvidailhet Год назад +3

    Awesome ! Finally a video explaining simply how anguar does change detection. I was looking fo this for a long time !

  • @eugenetsiukhlov7127
    @eugenetsiukhlov7127 Год назад +6

    Extremely high quality comprehensive explanation video ! Thank you Dmytro for your work!

  • @julienwickramatunga7338
    @julienwickramatunga7338 Год назад +3

    Thank you very much Dmytro, it's a really interesting topic, can't wait for the following videos!

  • @cdotforce
    @cdotforce Год назад +4

    Just one more amazing stuff. As always. Thanks Dmytro!

  • @maxk.2076
    @maxk.2076 Год назад +16

    This is extremely cool stuff, Dmytro! These internals help you understand how the framework does the job, and this really helps with creating apps. Looking forward to the next series!

    • @DecodedFrontend
      @DecodedFrontend  Год назад +2

      Thank you! I am glad that you like it 🙌🏻

  • @narenk8077
    @narenk8077 Год назад +12

    Can you please do entire angular course

  • @oren-karaso
    @oren-karaso 4 месяца назад

    Such an amazing professional, thanks for enriching the Angular world and making complex content accessible!

  • @rashidanwar101
    @rashidanwar101 9 месяцев назад +2

    Concepts Indepth❤
    Love from India..

  • @brunocasstiel
    @brunocasstiel Год назад +3

    Very useful video, yesterday i was searching about this subject.

  • @angelpellejero8764
    @angelpellejero8764 Год назад +3

    Thank you! Super interesting as always

  • @ico0z
    @ico0z Год назад +1

    This is insane video for the curious dev out there, thank you

  • @vkiperman
    @vkiperman Год назад +1

    This was great! Thank you!

  • @sanketjain7788
    @sanketjain7788 11 месяцев назад

    Amazing content! Thank you so much

  • @muratfaizmf
    @muratfaizmf Год назад +3

    Thank you in advance

  • @yuliakhitrukhina
    @yuliakhitrukhina Год назад

    Thank you! Nice content is always!

  • @MrVitalirapalis
    @MrVitalirapalis Год назад

    Very clear explanation, thx.

  • @gagiksimonyan3782
    @gagiksimonyan3782 Год назад +3

    Thanks for another useful video, Dmytro )

  • @ayoubelhayat9650
    @ayoubelhayat9650 Год назад +5

    Fantastic video as usual. Thanks

  • @azeemjoseph3946
    @azeemjoseph3946 Год назад

    Thank you for such a great video....!!!👍

  • @alexmatveev7730
    @alexmatveev7730 Год назад +1

    Thank you for your content! BTW do you know/can recommend or maybe you have some crash course about angular?

  • @youutubee2963
    @youutubee2963 Год назад +2

    Hello, Dmitry ✋Do you have any plans to make a series of videos about unit testing in Angular?

  • @Anton-qw8mh
    @Anton-qw8mh 9 месяцев назад

    Amazing, thanks

  • @YanLoonG13
    @YanLoonG13 Год назад +1

    Thank for sharing your knowledge.
    at 12:06 changeDetectorRef is base class of ViewRef and not the implementation.

  • @sanjaygarg3540
    @sanjaygarg3540 Год назад +1

    Recently took your Angular Forms Course, It was just amazing, learned a lot of cool stuff, This one is also amazing !

    • @DecodedFrontend
      @DecodedFrontend  Год назад

      Thank you so much🙏 I am so happy to hear that you liked it 🙌

    • @VK-sn3sn
      @VK-sn3sn 4 месяца назад

      hello, can you please share with me. I am ready to give you half amount.

  • @halynaua
    @halynaua 5 месяцев назад

    Thank you, Dmytro!

  • @syedahmedali8004
    @syedahmedali8004 Год назад

    Really love your work, Dmytro. may I ask where I can get the internal code of angular for learning purposes? thanks

  • @beodan9219
    @beodan9219 Год назад +1

    Great video

  • @mustafakaladagi2914
    @mustafakaladagi2914 9 месяцев назад

    great content.

  • @mykhailopanas4027
    @mykhailopanas4027 Год назад

    well done!

  • @amitkumar-xu3ie
    @amitkumar-xu3ie Год назад +2

    Main reason to select 1 long video in poll was because now I will have to wait for other two videos.😥

  • @manoharsinghrawat1859
    @manoharsinghrawat1859 Год назад +2

    Request to upload more such content

  • @carlosandrescarrasquilla3838
    @carlosandrescarrasquilla3838 9 дней назад

    I just want to say, i love you ❤

  • @user-wr8wu5bv5s
    @user-wr8wu5bv5s Год назад

    hi Dmytro, would you suggest any best starter kit with all handy 3rd party libraries(to make development cleaner and efficient) , which I can use to create my future projects in angular.

  • @valikonen
    @valikonen Год назад

    Thanks!

  • @veronikaprovalinskaya2716
    @veronikaprovalinskaya2716 Год назад

    Thanks

  • @pranayamr
    @pranayamr Год назад

    Can you also share or make video on deploying of angular via CI/CD with User of ESLINT & Testing framework in cloud

  • @VK-sn3sn
    @VK-sn3sn 4 месяца назад

    Hello, what are your views about Angular 17 vs React? Which one is more better taking general things into consideration.

  • @teofiljolte7079
    @teofiljolte7079 Год назад +1

    I don't like that Angular checks all child components when I run detectChanges() on the parent component. As a dev I should know already if I need to run a view checking in the child components or not. Maybe I just have a simple title from "Loading" to "Item 123" in the parent component (async). Do you have some opinions about how to use here this view checking the right way based on Angular's current design?

  • @AmarSingh-uw1db
    @AmarSingh-uw1db 9 месяцев назад

    Gratitude ❤❤

  • @m.k799
    @m.k799 Год назад +2

    what is the difference between enabling ngZone and injecting ChangeDetectorRef in app root ?

    • @DecodedFrontend
      @DecodedFrontend  Год назад +1

      With ZoneJs enabled you don't need to inject ChangeDetectorRef and call detectChanges() manually because zonejs will do it automatically for you. In the next video on Tuesday, I will be talking about exactly about that 🙂

  • @mohamedbadr267
    @mohamedbadr267 4 месяца назад

    I want to thank you for the detailed explanation
    And I have a small question
    When I navigate through the core code I found it written as mjs, so I want to ask you how can I open the TS files like video?!
    Thanks again

  • @USONOFAV
    @USONOFAV 6 месяцев назад

    Is there like a way to invoke change detection? Sometime some event are not happening because of timing issue, so to resolve the issue I use setTimeout to deferred setting of a value the would invoke an event.

  • @wilder_kh
    @wilder_kh Год назад

    Дякую за відео!

  • @ytamb01
    @ytamb01 Год назад +2

    Sorry if I missed something, but does Angular rebind everything when you call cdr.detecthChanges() or only where it detects a change? For example, if you have and then a lot of binding to the myObject properties, does Angular rebind all of these properties even if the reference to myObject hasn't changed?

    • @DecodedFrontend
      @DecodedFrontend  Год назад +3

      I think re-binding isn't actually the correct word to describe this process. I would name it "binding checking". And yes, when you call detectChanges, Angular goes through each binding and checks if the current binding value !== previous value and if it has changed then the view will be updated for that part. Angular would need to do a binding check for the view created by ngIf as well (at least because the same reference to the object doesn't mean that the value of object properties remains the same because that object could be just mutated)

  • @ilyabielov9864
    @ilyabielov9864 Год назад +4

    Do you have subtitles for your course?

    • @DecodedFrontend
      @DecodedFrontend  Год назад +3

      Currently, there are no subtitles but I plan to do that because some other people asked about it too.

  • @VinitNeogi
    @VinitNeogi Год назад

    Change detection will change as part of signals RFC

  • @ilyabielov9864
    @ilyabielov9864 Год назад +3

    Дякую за відео :)

  • @genyklemberg
    @genyklemberg Год назад +2

    Can we use some function to render app-any-component if we have change detection on push and inputs are not changing?

    • @DecodedFrontend
      @DecodedFrontend  Год назад

      You can use functions in the template unless you have expensive computations in that functions. (e.g using loops inside, etc)

  • @4444-c4s
    @4444-c4s 4 месяца назад

    Hello,
    I have a large formGroup in parent component and passed to multiple nested child components. So can this hamper performance?? As currently it takes more than 3 seconds after click just to show its UI on page.
    When I load the parent's page, the logic is such that it navigates to default child route, and in that child, it again navigate to another child causing 3 layers of routing.
    I have ised this pattern from 1 year now since the project started. Now it is impossible to revert it.

  • @robinbhatt2433
    @robinbhatt2433 Год назад +2

    99$ is a lot of money for students in 3rd world country. Please have something like limited time offer where you drop the price. It will be helpful for us.

    • @DecodedFrontend
      @DecodedFrontend  Год назад +2

      Hi Robin,
      You can always request a discount writing me an email from your student email at dmytro@decodedfrontend.io
      However, you should keep in mind that the target group for the course are middle/senior Angular developers and if you are student and have no or very little experience with Angular then the course might be not the best option for you.

  • @eddiethehead5942
    @eddiethehead5942 Год назад +2

    Агонь)

  • @Vgogichashvili
    @Vgogichashvili 6 месяцев назад

    So, the the automatic view checking still happens, after using 'noop', but happens only once, during initialization?

    • @DecodedFrontend
      @DecodedFrontend  6 месяцев назад +1

      Hi! Yes, it is the so-called initial CD cycle. After that, you are responsible for running the CD (if noop zone is used)

  • @criticalthinker1123
    @criticalthinker1123 2 месяца назад

    *why don't you create Angular under the hood and break down everything like this. like the course for Tony JavaScript the weird parts*
    *I'm sure many will appreciate and purchase such course*

  • @user-ki3no7in5k
    @user-ki3no7in5k Год назад +4

    Thanks. I would expect for simplified version(shortened all in one version) of change detection theme also :). Слава Україні!

    • @DecodedFrontend
      @DecodedFrontend  Год назад +2

      Heroyam slava! In the next video I will do the connection with the view checking, so you will be able to see the whole picture ;)

  • @rushimore9635
    @rushimore9635 4 месяца назад +1

    hello i want to buy your complete angular course and your advanced angular form concept is included in that course.please respond can i get discount in that full course please provide your email i so can communicate with you

    • @DecodedFrontend
      @DecodedFrontend  4 месяца назад

      Hi,
      I already answered you :) please check your email