我已经通过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>
答案 0 :(得分:3)
问题是您尝试使用rootRef
使用遗留2.x firebase sdk中的new Firebase("https://<my-ref-url>.firebaseio.com");
。
这是firebase 3.x的变化之一。你必须以稍微不同的方式做到这一点。
var rootRef = firebase.database().ref();
您可以使用此jsFiddle
进行一些测试