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.
)...誰かが私が間違っている場所について何か考えを持っていますか?
このプランカーを見る