2017-01-12 7 views
1

私はFirebaseとAngularFireライブラリを使用しています。私は$ firebaseArrayオブジェクトからすべての項目または項目の範囲を削除する方法を探しています。私はdocumentationでそれを行う簡単な方法はありません。私はアイテムを1つずつループしたり取り除いたりする以外の方法を考えていないのですか?唯一の方法ではないことを教えてください!!AngularFireアレイから複数のアイテムを削除する方法は?

答えて

1

何をしたいん$firebaseArrayのメソッドが存在しない場合は、Firebase SDKスタイルの呼び出しを実行するために、アレイの$ref()を使用することができます。配列の内容は、refを使って行った変更と同期されます。すべての要素を削除する

、REF自体にremoveを呼び出す:

function removeAll(firebaseArray) { 
    return firebaseArray.$ref().remove(); 
} 

nullに除去すべきキーが設定されたupdateを行い、範囲を削除する:

function removeRange(firebaseArray, start, end) { 
    var keys = {}; 
    if (end === undefined) { 
    end = firebaseArray.length; 
    } 
    for (var i = start; i < end; ++i) { 
    keys[firebaseArray.$keyAt(i)] = null; 
    } 
    return firebaseArray.$ref().update(keys); 
} 

どちらの関数も約束を返します。

関連する問題