2016-07-01 282 views
2

我已經通過CDN添加了Firebase和AngularFire js文件。我已經將AngularFire注入到我的應用程序中,然後將$ firebaseArray注入到我的控制器中。但由於某種原因,我仍然在我的開發控制檯中收到'Firebase not defined error'。AngularFire - ReferenceError:未定義的Firebase

我已經看過下面的鏈接:

AngularFire - Firebase not defined

Firebase Error - "FireBase is not defined"

Angularfire 'Firebase' is not defined

Angularfire Uncaught ReferenceError: Firebase is not defined

,其中沒有解決我的情況。我錯過了什麼嗎?我包括我下面的代碼:

//App 
angular.module("TestApp", ['ngAnimate', 'ui.router', 'ui.bootstrap', 'firebase']); 

//Controller 
angular.module('TestApp') 
.controller('DetailsController',['$scope', '$firebaseArray', '$http', function ($scope, $firebaseArray, $http) { 

    console.log($firebaseArray); // <- verified here that the injection works 
    var rootRef = new Firebase("https://<my-ref-url>.firebaseio.com"); 

    //load data from firebase db 
    $scope.loadCommunity = function(){ 

     $scope.hasCommunity = true; 
     $scope.messages = $firebaseArray(rootRef); 

    }; 

}]); 

和下面是我包含在index.html文件中的代碼:

<script src="https://www.gstatic.com/firebasejs/3.0.3/firebase.js"></script> 
<script src="https://www.gstatic.com/firebasejs/3.0.3/firebase-app.js"></script> 
<script src="https://www.gstatic.com/firebasejs/3.0.3/firebase-auth.js"></script> 
<script src="https://www.gstatic.com/firebasejs/3.0.3/firebase-database.js"></script> 

<script> 
    // Initialize Firebase 
    var config = { 
    apiKey: "MY API KEY HERE", 
    authDomain: "<my-ref-url>.firebaseapp.com", 
    databaseURL: "<my-ref-url>.firebaseio.com", 
    storageBucket: "", 
    }; 
    firebase.initializeApp(config); 
</script> 

<script src="https://cdnjs.cloudflare.com/ajax/libs/angularFire/2.0.1/angularfire.min.js"></script> 

回答

3

的問題是,您嘗試使用new Firebase("https://<my-ref-url>.firebaseio.com");獲得rootRef和那是來自傳統的2.x firebase sdk。

這是firebase 3.x的變化之一。你必須以稍微不同的方式做到這一點。

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

您可以使用此jsFiddle

+0

工作就像一個魅力做一些測試。謝謝。我在Youtube上關注Google Developers頻道上的David Yeast教程視頻。我沒有意識到它已經過時了。 乾杯! – SpiderWasp42

+0

如何在使用ES6時解決這個問題。 'import'firebase''不起作用。 – Hantsy