Input() set vs. ngOnChanges

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 พ.ย. 2024

ความคิดเห็น • 14

  • @damiankacprzak8322
    @damiankacprzak8322 10 หลายเดือนก่อน

    Jak zawsze fajny materiał :) z tą zamianą kolejności input to nie spodziewałem się ze ze to tak może zadziałać :)

    • @rafalkoduje
      @rafalkoduje  10 หลายเดือนก่อน

      Tak to działa, żadnego fotomontażu nie było:)

  • @maly92162
    @maly92162 10 หลายเดือนก่อน

    Hej Rafał, w tym pierwszym przypadku (określonym jako niepoprawny) wystarczyłoby sprawdzić w showDetails() czy zmienna this.myArr nie jest pusta i osiągnęlibyśmy poprawne działanie, takie jak w przpadku użycia ngOnChanges(). Wynika to z tego, że przy użyciu setterow dane splywaja sekwencyjnie, w przypadku ngOnChanges() parametry wlatują do komponentu hurtowo.

    • @tomekx
      @tomekx 10 หลายเดือนก่อน

      Wydaje mi się, że taki dodatkowy warunek niepotrzebnie komplikuje kod. Wiadomo że jeden if nic złego nie wyrządzi, ale może być drogą do wprowadzania w projekcie niepoprawnych standardów tworzenia kodu. Chociaż jak deadline'y gonią, to się przymyka oko, żeby nie tracić czasu na główkowanie jak coś ładniej napisać. 😅

    • @rafalkoduje
      @rafalkoduje  10 หลายเดือนก่อน

      No właśnie tak musi być jak napisałeś. Ja preferuję rozwiązanie oparte na ngOnChanges. Ifologia jest jakimś rozwiązaniem, ale to dodatkowy kod, który trzeba później czytać, ogarnąć itd. Uważam, że najważniejsze z tego odcinka jest to, że taka sytuacja istnieje i trzeba mieć tego świadomość. I oczywiście w konsekwencji zabezpieczyć się właściwie. Wielkie dzięki za głos w dyskusji.

    • @maly92162
      @maly92162 10 หลายเดือนก่อน

      @@rafalkoduje dokładnie 🙂 też wolę ngOnChanges(), im mniej kodu tym lepiej.

  • @tomekx
    @tomekx 10 หลายเดือนก่อน

    A jeżeli chcemy w Inpucie zasubskrybować Observable albo Subjecta (konstrukcja z async pipem w Html-u), to czy musimy o czymś pamiętać gdy odwołujemy się do tych danych w setterze lub w ngOnChanges? Czy postępujemy analogicznie jak gdybyśmy odwoływali się do zwykłych, nieasynchronicznych danych?
    PS: fajne i pomocne filmy. ☺️

    • @devman5813
      @devman5813 10 หลายเดือนก่อน

      Robisz to normalnie i będzie działać ;)

    • @rafalkoduje
      @rafalkoduje  10 หลายเดือนก่อน

      Normalnie, czyli inaczej niż pokazałem?

    • @devman5813
      @devman5813 10 หลายเดือนก่อน

      Tak jak pokazałeś, można przecież też przekazać obserwera i normalnie użyć na nim async pipe, wszystko będzie śmigało o ile o to chodzi komentującemu :)@@rafalkoduje

    • @tomekx
      @tomekx 10 หลายเดือนก่อน +1

      @@devman5813 Dzięki, o to chodziło.

    • @rafalkoduje
      @rafalkoduje  10 หลายเดือนก่อน

      devman5813 jest mega master :)

  • @k0wu705
    @k0wu705 10 หลายเดือนก่อน

    fajny kanał, szkoda tylko ze angular. aktualnie ucze sie vue ;/ beda w przyslosci odcinki dla innych freamworkow?

    • @rafalkoduje
      @rafalkoduje  10 หลายเดือนก่อน

      raczej nie planuję. Ale cieszę się z dobrej oceny :)