AngularFire - ReferenceError:未定义Firebase

时间:2016-07-01 15:12:54

标签: angularjs firebase angularfire

我已经通过CDN包含了Firebase和AngularFire js文件。我已将AngularFire注入我的应用程序,然后将$ firebaseArray注入我的控制器。但由于某些原因,我仍然在我的开发控制台中收到“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>

1 个答案:

答案 0 :(得分:3)

问题是您尝试使用rootRef使用遗留2.x firebase sdk中的new Firebase("https://<my-ref-url>.firebaseio.com");

这是firebase 3.x的变化之一。你必须以稍微不同的方式做到这一点。

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

您可以使用此jsFiddle

进行一些测试