2017-02-05 13 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

+利点:あなたは|非同期パイプで処理されます。 –