0

如果我做:

var firebaseRef = new Firebase(url);
firebaseRef.on("value", function(dataSnapshot) { ... });

然后我firebaseRef像这样重置:

firebaseRef = new Firebase(newUrl);

以前的.on(...)侦听器会被自动删除还是应该.off()在将 firebaseRef 设置为之前调用new Firebase(newUrl)

4

1 回答 1

2

让我们尝试一下:

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

这是 jsbin:http ://jsbin.com/viheso/1/edit?js,console

于 2015-05-30T05:14:05.533 回答