「上下文」 是Firebase.on的第四參數「上下文」 Firebase.on的說法是不工作
on(eventType, callback, [cancelCallback], [context])
https://www.firebase.com/docs/web/api/query/on.html
上下文對象*可選
如果提供,此在調用你的回調函數時將使用這個對象。
但它似乎不工作。
<!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>
預計:對象({ onChildAdded: function... }
)
結果:窗口(瀏覽器全局對象)
所以我解決了這個問題bind
方法。
ref.on("child_added", listener.onChildAdded.bind(listener));
此問題是一個錯誤或規範?
您正在使用哪個版本的Firebase? –
我使用firebase 2.2.7。 –