Javascript &引用;上下文“;Firebase.on的参数不起作用
“context”是Firebase.on的第四个参数Javascript &引用;上下文“;Firebase.on的参数不起作用,javascript,firebase,Javascript,Firebase,“context”是Firebase.on的第四个参数 on(eventType, callback, [cancelCallback], [context]) 上下文对象*可选 如果提供了此对象,则在调用回调时将使用此对象 但它似乎不起作用 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>firebase sample</title>
on(eventType, callback, [cancelCallback], [context])
上下文对象*可选
如果提供了此对象,则在调用回调时将使用此对象
但它似乎不起作用
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>firebase sample</title>
<script src="bower_components/firebase/firebase-debug.js"></script>
</head>
<body>
<script>
(function () {
var listener = {
onChildAdded: function (snapshot) {
console.log(this);
}
};
console.log(listener);
var ref = new Firebase("https://<YOUR_FIREBASE_APP>.firebaseio.com");
ref.on("child_added", listener.onChildAdded, null, listener);
})();
</script>
</body>
</html>
这个问题是bug还是规范?我认为问题在于,如果第三个参数为null,则不考虑第四个参数,因此尝试将空函数作为第三个参数传递
ref.on("child_added", listener.onChildAdded, function(){}, listener);
实际上,根据源代码,可选的
取消
回调应该省略,不提供空值
/未定义的值。这在文档中可能不明显,但取消
是可选的您使用的是哪个版本的firebase?我使用的是firebase 2.2.7。谢谢!当然,它工作得很好,但没有记录在案。我认为这是不合理的,也不是用户友好的api。谢谢!当然,它工作得很好,但没有记录在案。我认为这是不合理的,也不是用户友好的api。
ref.on("child_added", listener.onChildAdded, function(){}, listener);