2016-05-20 6 views
3

私はangularFireライブラリを利用した角度アプリを持っています。火器の資料では、アングラーファイアがサポートされていることが記載されています。https://firebase.google.com/support/guides/firebase-web#update_your_firebase_libraries_numbered新しいfirebaseでのfirebaseのanglefire

最新のバージョンにfirebaseとangularfireを更新しました。

前に:「有効Firebaseを渡す必要があります://これは

// *** app.js *** 

    .run(function (FIREBASE_CONFIG) { 
     firebase.initializeApp(FIREBASE_CONFIG); 
    }); 

    // *** DataService *** 

    var root = firebase.database().ref();   

    var service = { 
     root: root, 
     items: root.child('items'), 
     tastings: root.child('tastings'), 
     users: root.child('users'), 
     votes: root.child('votes') 
    }; 

    return service; 

    // *** Controller *** 

    $scope.tastings = $firebaseArray(dataService.tastings); 

私は取得していますエラー:-(動作しません://これは、AFTER :-)

// *** DataService *** 

    var root = new Firebase(FIREBASE_URL);   

    var service = { 
     root: root, 
     items: root.child('items'), 
     tastings: root.child('tastings'), 
     users: root.child('users'), 
     votes: root.child('votes') 
    }; 

    return service; 

    // *** Controller *** 

    $scope.tastings = $firebaseArray(dataService.tastings); 

作品$ firebase(文字列やURLではない)への参照」

データベースのような新しいプロパティが追加されていても、dataService.tastingsを評価すると、Chrome Consoleのfirebase参照のように見えます。

+0

AngularFireの新しいバージョンは1.2.0よりも古いとは言えません... – iamchriswick

+1

マージリクエストが動作しています:https://github.com/firebase/angularfire/pull/717 – iamchriswick

+0

ありがとう。あなたは何もすることはできませんが、レビュー/マージを待つ –

答えて

2

AngularFireが正式Firebase 3.x.xをサポートするように更新された:)

+0

アップデートありがとう:-) –

0

、あなたはこのような何か持っている必要がありますので、それが正常に動作します:: GitHubの:

は、それに伴い、あなたは上での詳細なドキュメントを取得することができます

/// Main configuration of Firebase 

    var config = { 
     apiKey: "AIzaSyDcPq_z9vh4CidkzFDyerRK0ZS7gs2Sj14", 
     authDomain: "citytimer-90920.firebaseapp.com", 
     databaseURL: "https://citytimer-90920.firebaseio.com", 
     storageBucket: "citytimer-90920.appspot.com", 
     messagingSenderId: "497040832817" 
    }; 
    firebase.initializeApp(config); 

この部分は純粋なJavascriptです。そのため、Angularファイルに含める必要はありません。

これは私が使っているAngularファイルです。

/// Database service 

    function firebaseDataService() { 
     var root = firebase.database().ref(); 

     var service = { 
      root: root, 
      requests: root.child('requests'), 
      places: root.child('places') 
     }; 

     return service; 
    } 

私のサービスはあなたのように見えます。それは構成オブジェクトの一部だから

/// Specific service to retrieve data 

function cityTimerService($firebaseArray, firebaseDataService, $firebaseObject, $rootScope, $q, $http) { 

     var service = { 
      getRequestsByUser: getRequestsByUser, 
     }; 

     return service; 

     function getRequestsByUser(uid) { 
      if (!requests) { 
       requests = $firebaseArray(firebaseDataService.requests.child(uid).child('userRequests')); 
      } 
      return requests; 
     } 
} 

基本的には長いFIREBASE_URLを提供する必要はありません。記録のために、Firebaseコンソールからこの設定オブジェクトを取得することができます。

私のプロジェクトにあるコードを詳しく見たい場合は、hereとすることができます。

関連する問題