如果我做:
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. 幸运的是,这就像取消注释行一样简单。