2016-07-23 65 views
0

自從升級angularfire(2.0.1)以支持最新版本的Firebase(3.2.0)後,我的應用不再連接到數據庫。任何想法爲什麼?這是我之前工作的簡單代碼。升級後angularfire連接到firebase時出錯

.constant('FIREBASE_URL', 'https://my_app_url.firebaseio.com/') 

.factory('firebaseRef', function($firebase, FIREBASE_URL) { 

     var firebaseRef = new Firebase(FIREBASE_URL); 

     return firebaseRef; 
    }) 

我的錯誤是:ionic.bundle.js:20434 ReferenceError: Firebase is not defined錯誤引用上面的線var firebaseRef = new Firebase(FIREBASE_URL);

我怎樣才能解決這個問題?

+0

請花點時間閱讀[整個頁面](https://firebase.google.com/support/guides/firebase-web) –

回答

1

在SDK 3及更高版本中初始化Firebase是不同的。

現在有一個全局的firebase(而不是Firebase的構造函數),你需要先初始化它,然後你可以獲得對數據庫根目錄的引用。

所以,你的代碼可能是這個樣子:

ngModule.constant('FIREBASE_CONFIG', { 
 
    apiKey: "apiKey", 
 
    authDomain: "projectId.firebaseapp.com", 
 
    databaseURL: "https://databaseName.firebaseio.com", 
 
    storageBucket: "bucket.appspot.com", 
 
}); 
 

 
ngModule.factory('firebaseRef', function($firebase, FIREBASE_CONFIG) { 
 

 
    firebase.initializeApp(FIREBASE_CONFIG); 
 
    return firebase.database().ref(); 
 
});

結帳the docs

+0

謝謝,超級愚蠢的問題在這裏。爲什麼要使用ngmodule.'或任何前綴?目前我的代碼沒有使用名稱前綴,因此'.constant'如果我使用'ngmodule.',這就是令我困惑的部分,那麼我是否必須更改我的所有工廠和服務以使用'ngmodule.'作爲前綴? –

+0

我認爲我的問題在這裏是一個命名/組織一個:) –

+0

我也越來越錯誤'ngModule未定義'。 –