2016-08-31 3 views
0

Firebase의 동적 경로에 리스너를 연결 한 간단한 시나리오가 있습니다.제거 된 노드에서 수신기 제거

a 
.. b 
..... c (dynamic multiple nodes) 
..... c1 
......c2 
ref.child(a).child(b).child(c).on('child_changed',onChildChange); 

일부 조건에 따라 일부 c 노드가 제거되므로 리스너를 필요로하거나 자동으로 제거됩니다. .on

답변

1

당신은 데이터를 제거하는 기준에 remove를 호출해야합니다.

firebase.database().ref('a/b/c').remove(); 

하위 이벤트가 목록에 데이터를 모니터링하는 데 사용됩니다, 당신은 데이터의 추가, 수정 또는 제거 된 때를 알고 이러한 이벤트를 사용할 수 있습니다.

귀하의 경우에는 child_removed을 사용해야합니다.이 이벤트를 사용하는 것은 데이터 제거와 관련이 없습니다. 목록으로 작업 할 때마다 3 개의 하위 이벤트를 모두 함께 사용하는 것이 좋습니다.

firebase.database().ref('a/b/c').on('child_removed', function(data) { 
    //Data has been deleted, do something here! 
}); 
+1

고마워요! 나는 데이터를 제거하기 위해 이미 remove()를 사용하고 있는데, 내가 찾고있는 것은 child_removed에 삭제 된 데이터를 호출해야한다는 것이다. – kapoorji