Załóżmy, że masz interfejs z paskiem narzędzi, bocznym i siatkowym. Pasek narzędzi zawiera menu rozwijane, w którym po zmianie użytkownika zmienia się zawartość paska bocznego i siatki. Po powrocie do Angular 1 użyłbym usługi, aby mieć wszystkie moje dynamiczne dane. Gdy coś zmieni się w usłudze, wszystkie składniki korzystające z tej usługi również zostaną zaktualizowane.Angular2 - udostępnianie danych/zmiana między komponentami
Cóż w Angular 2 wygląda na to, że ludzie używają różnych metod. Chciałem uzyskać twój wkład, który jest preferowany.
- Static serwisowe
- OnChanges
- Wejścia i Wyjścia
Zaktualizowane - 03/09/16
Wygląda na to, że najlepszym rozwiązaniem jest wątek, który Thierry Templier wysłał: Delegation: EventEmitter or Observable in Angular2
Pozostało mi pytanie, czy najlepiej jest utworzyć nową usługę dla każdego elementu danych, który jest współużytkowany przez komponenty, czy też możemy mieć jedną usługę, która ma obiekt przechowujący wszystkie udostępnione dane.
See Plnkr for code
Original Plunker - Każda zmiana będzie mieć swój własny serwis
Revised Plunker for example - Tylko jedna usługa, która przechowuje wszystkie dane w obiekcie. Typ zostanie przekazany do każdego detektora w celu sprawdzenia, czy musi on coś zrobić na podstawie tego typu.
Inni warunkiem dobrych odpowiedzi, ale chciał, aby pamiętać, że istnieje punkt z dokumenty na temat [Component Interaction] (https://angular.io/docs/ts/latest/cookbook/component-communication.html), które ma y też warto przeczytać. – jandersen