Wpis z mikrobloga

#programowanie #javascript #angular
Pytanie na szybko mam, jak wykrywać zmianę propsa w obiekcie? Chodzi mi o to, że w komponencie mam ngOnChanges i jeśli zmieni się, któreś property obiektu to chcę coś tam zrobić. Działa to tylko na przypisanie nowego obiektu, a chciałbym właśnie na dowolne property. Ktoś doradzi z czego mogę skorzystać?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Dominias: działa tylko na przypisanie ponieważ tak jest szybciej - "stary" Angular (AngularJS znaczy się) oferował nawet jakieś deep watchery i zgadnij jaka była tego wydajność ( ͡° ͜ʖ ͡°) a przy detekcji nowej referencji wystarczy proste porównanie "===" i już wiadomo czy obiekt się zmienił czy nie. Możesz użyć biblioteki a la Immutable.js, dzięki której po modyfikacji obiektu dostaniesz jego nową referencję, więc change detection
  • Odpowiedz
@Arveit: teoretycznie tak się dzieje bo w rodzicu w zależności od tego parametru coś tam sobie wyświetla, ale chodzi mi o to żeby wejść do ngOnChanges - tak się nie dzieje, a chcę tam callować metodę do updateu danych w agGridzie. Mógłbym się bawić z outputami ale to pisanie zbędnego kodu imo, tym bardziej, że zmiana tego property ma wpływ na inne rzeczy w "rodzeństwie"
  • Odpowiedz
@Dominias: to może implementacja serwisu tutaj pomoże, jeśli to jest jakaś zaawansowana komunikacja pomiędzy komponentami? @Input()/@Output() to nie jest zbędny kod, to normalne bindowanie danych w ng :P tylko faktycznie ma sens przy relacji rodzic-dziecko, jak masz głębszy nesting to już się problemy robią
  • Odpowiedz