如果我做:
var firebaseRef = new Firebase(url);
firebaseRef.on("value", function(dataSnapshot) { ... });
然后我firebaseRef
像这样重置:
firebaseRef = new Firebase(newUrl);
以前的.on(...)
侦听器会被自动删除还是应该.off()
在将 firebaseRef 设置为之前调用new Firebase(newUrl)
如果我做:
var firebaseRef = new Firebase(url);
firebaseRef.on("value", function(dataSnapshot) { ... });
然后我firebaseRef
像这样重置:
firebaseRef = new Firebase(newUrl);
以前的.on(...)
侦听器会被自动删除还是应该.off()
在将 firebaseRef 设置为之前调用new Firebase(newUrl)
让我们尝试一下:
var ref = new Firebase('https://stackoverflow.firebaseio.com/30541902');
ref.on("value", function(snapshot) {
console.log(snapshot.val());
});
ref.set('1');
//ref.off();
ref = new Firebase('https://stackoverflow.firebaseio.com/30541902');
ref.set('2');
输出:
1
2
因此,您需要off
在将新值分配给ref
. 幸运的是,这就像取消注释行一样简单。