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