2017-06-15 12 views
0

でリストにバインドする方法を私が持っているとしましょう。しかし、this.userKeyが変更された場合は、もう一度​​を定義する必要がありますが、動作しますが、リストの更新ごとにhtml全体が点滅します。angularfire2は、異なるパス

this.arrUserSchoolsを新しいパスに設定する適切な方法は何ですか?

+0

"全体のHTML"とはどういう意味ですか? 「リ」か他の何か? – acdcjunior

答えて

0

はまあ再割り当てリストのバインドで問題がない:

this.arrUserSchools = this.db.list('/users/' + this.userKey + '/schools'); 

問題は、私はどこか別の場所に複数回サブスクライブしたということでした。 (初心者の間違い!)したがって、サブスクリプションはすべての実行で重複していたため、テンプレートを表示するリストを含む配列を複数回再割り当てします。それはそれを "点滅"させていた

onFindUserByUid(uid: string) { 

    this.findUserByUidSubscription = this.db.list('/users', { 
    query: { 
     orderByChild: 'uid', 
     equalTo: uid 
    } 
    }).subscribe((snapshot) => { 
    // do stuff ... 
    this.findUserByUidSubscription.unsubscribe(); // <-- solution 
    }); 

} 
関連する問題