在 AngularJS 中处理 Firebase 的最佳方式肯定是在服务中,因此它对应用程序中的所有控制器都可用。
我就是无法让它工作!...我第一次尝试使用angularFire(new Firebase(url))
,希望我可以绑定到服务的范围,但 Angular 抱怨它不能$watch
。
所以我尝试了 angularFireCollection,而不是这样:
app.factory('myService', function myService(angularFireCollection) {
var url = 'https://myfirebase.firebaseio.com';
return {
getAll: function(path) {
var ref = angularFireCollection(new Firebase(url + '/' + path));
console.log(ref);
return ref;
},
...
};
});
但是, angularFireCollection 是一个包含大量方法等的对象。如果我将它绑定到控制器 $scope 我只会得到垃圾。它还抱怨在我尝试使用 Firebase 函数之前它无法调用它们(例如Error: Firebase.push failed: second argument must be a valid function.
)......有人知道我哪里出错了吗?
看到这个PLUNKER