2017-02-05 5 views
3

документация AngularFire2 показывает следующую картину, чтобы связать наблюдатель на ваш Firebase наблюдаемый:AngularFire2 наблюдатель

this.item = af.database.object('/item'); 

{{ (item | async)?.name }} 

Асинхронных отписываются трубы, когда компонент разрушается, но каковы преимущества/недостатки по следующему шаблону вместо? И отказаться от подписки на крючок жизненного цикла ngDestroy?

af.database.object('/item') 
.subscribe(item => this.item = item) 

{{ item?.name }} 
+1

У меня такой же вопрос. В моих тестах нет никакой разницы между обоими, кроме шаблонов. Асинхронный канал, похоже, подписывается и отписывается, однако, что делать, если вам нужно обработать подписку в коде? В этом случае я чувствую, что вам нужно описать вручную. Асинхронная труба не кажется полезной, если она не является чистой привязкой к шаблону. Я надеюсь, что вы получите ответ – user1059939

ответ

2

Преимущество: можно вывести на дисплей список в шаблон без подписки его. Это сэкономит вам время, ссылаясь на это свойство. Этот шаблон используется не только в AngularFire2, но и в Angular 2. Вот как Наблюдается работ.

Недостаток: Вы не можете манипулировать данными внутри, так как вы уже отображали его напрямую. Если вы хотите что-то изменить на свойства, вам нужно использовать трубу, которая у вас будет время для создания логики.

+0

+ Преимущество: вам не нужно отписываться, так как | асинхронная труба позаботится об этом. –

 Смежные вопросы

  • Нет связанных вопросов^_^