我正在考虑制作自己的JavaScript客户端库,我喜欢Firebase格式化请求的方式。我试图了解最新情况。通过查看网络指南here,我找到了以下代码:
var ref = new Firebase("https://docs-examples.firebaseio.com/web/saving-data/fireblog");
var usersRef = ref.child("users");
usersRef.set({
alanisawesome: {
date_of_birth: "June 23, 1912",
full_name: "Alan Turing"
},
gracehop: {
date_of_birth: "December 9, 1906",
full_name: "Grace Hopper"
}
});
我可以看到ref
等于名为Firebase
的函数,usersRef
等于ref.child
。
我想象这样的事情:
Firebase = function(url) {
this.child = function(path) {
console.log(url);
console.log(path);
};
};
在这里,我可以看到usersRef.set
正在被调用,但我无法弄清楚这将会如何或在何处发生? set
是函数还是对象?我注意到firebase有set()
,update()
,push()
和transaction()
,让我觉得这些都是函数。
"TypeError: Cannot read property 'set' of undefined
也许我完全走错了路,我只是不熟悉这种模式。
答案 0 :(得分:1)
如果您查看Firebase API,则会看到child()
向子位置返回新的Firebase引用。所以像这样:
var Firebase = function(url) {
console.log(url);
this.child = function(path) {
return new Firebase(url+'/'+path);
};
this.set = function(object) {
console.log(object);
};
};
我已经更新了你jsbin:https://jsbin.com/nucume/2/edit?js,console