2017-01-12 45 views
1

我正在使用Firebase和AngularFire庫。我正在尋找一種方法來從$ firebaseArray對象中刪除所有項目或一系列項目。我在documentation中看不到一種簡單的方法。除了循環和逐個刪除項目之外,有沒有其他方法我不想考慮?請告訴我,這不是唯一的方法!AngularFire如何從數組中刪除多個項目?

回答

1

如果沒有在$firebaseArray的方法,你想要什麼,你可以使用數組的$ref()進行火力地堡SDK式電話。數組內容將與您通過ref進行的更改同步。

要刪除所有的元件,對裁判本身調用remove

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

要刪除的範圍內,執行update,其中待去除的密鑰被設置爲null

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); 
} 

這兩個函數都返回promise。