iou*_*mmi 5 javascript firebase
我正在使用firebase在实时应用程序中同步数据.经过一些处理后,我想取消所有添加的听众链接.所以我说
myRef.off();
Run Code Online (Sandbox Code Playgroud)
但我发现一些听众仍然依恋.
我的问题是:当您将侦听器关闭为父节点时,它是否会传播给子节点,还是应该单独推迟每个级别?
我们来试试吧.
ref.on("value", function(snapshot) {
console.log("parent: "+JSON.stringify(snapshot.val()));
});
ref.child("child").on("value", function(snapshot) {
console.log("child: "+JSON.stringify(snapshot.val()));
});
ref.set('1');
ref.child('child').set('2');
ref.off();
ref.child('child').set('3');
ref.child('child').off();
ref.set('4');
Run Code Online (Sandbox Code Playgroud)
输出:
parent: "1"
child: "2"
parent: {"child":"2"}
child: "3"
Run Code Online (Sandbox Code Playgroud)
因此,在调用off父侦听器之后,子侦听器仍然会触发("3").但是如果我们得到同一个孩子并且打电话off,它就不再是("4")了.
JSBin:http://jsbin.com/wutaza/edit?js,console
结论:off()不会从子节点中删除侦听器.
| 归档时间: |
|
| 查看次数: |
2604 次 |
| 最近记录: |