$ firebaseArray(boxes)からアイテムを削除しようとしています。 Firebase配列アイテムが削除され、直ちに自動追加されます(AngularFireを使用)
削除funcion:それは作品function remove(boxJson) {
return boxes.$remove(boxJson);
}
は、しかし、すぐに戻って追加されます。
function getBoxes(screenIndex) {
var boxesRef = screens
.child("s-" + screenIndex)
.child("boxes");
return $firebaseArray(boxesRef);
}
:これは配列をもたらす方法である
firebaseArrayへの複数の参照を保持していると思います一方が削除されるともう一方が追加されますが、firebaseはそれを処理する必要があると思いますか?
とにかく私はこれに迷っています。
UPDATE
私はそれをハックして(タイムアウト付き)二回削除するには、それが動作しているようです:
function removeForce(screenIndex, boxId) {
setTimeout(function() {
API.removeBox(screenIndex, boxId);
}, 1000);
return API.removeBox(screenIndex, boxId);
}
とAPI.removeBox:
function removeBox(screenIndex, boxId) {
var boxRef = screens
.child("s-" + screenIndex)
.child("boxes")
.child(boxId);
return boxRef.remove();
}
どのように配列を作成しますか?何かがあなたの配列を同期させて保持しているかもしれません。すなわち、常にその要素があることを確認してください。 – akhaku
配列はサーバーから来ます。私は$ firebaseArrayを使用しました。私は問題を発見しました - 私の一部のバグは、それらを削除した後にアイテムを保存していました。おっとっと。あなたのコメントAkhakuありがとうございます。 – Guy