我是firebase和angularfire的新手。在我的应用中,我尝试在firebase数据库中创建一个新项目(教师对象)。我一直在Error: Can't find variable: Firebase
。
我在index.html
中包含了以下脚本标记:
<script type="text/javascript" src="../libs/firebase/firebase.js"></script>
<script type="text/javascript" src="../libs/angular/angularfire/angularfire.js"></script>
然后,在我的app.js
中,我已将firebase
包括在内:
angular.module('app', ['firebase']);
我的控制器是:
app.controller('teacherCreateCtrl', ['$scope', '$state', 'Teacher', '$firebase', function($scope, $state, Teacher, $firebase) {
var ref = new Firebase("https://xxx-xxxxxx.firebaseio.com/app/teachers");
var firebaseConnection = $firebase(ref);
$scope.teacher = new Teacher();
$scope.userClickedCancel = function() {
$state.go('app.teacher');
}
$scope.userClickedSave = function(newTeacher) {
firebaseConnection.$set(newTeacher);
}
}]);
代码执行在控制器的var ref = ...
处停止。感谢任何帮助。感谢。
我使用的是firebase 3.4.0v和angularfire 2.0.2v。请注意,我使用此控制器的模板作为视图嵌入index.html
。
答案 0 :(得分:2)
您正在混淆您的版本。如果您使用的是v3.x firebase,则无法使用v2.x代码。所以而不是:
var ref = new Firebase("https://xxx-xxxxxx.firebaseio.com/app/teachers");
你必须这样做:
var config = {
apiKey: "<API_KEY>",
authDomain: "<PROJECT_ID>.firebaseapp.com",
databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
storageBucket: "<BUCKET>.appspot.com",
};
firebase.initializeApp(config);
查看the docs了解详情。
答案 1 :(得分:0)
来自Firebase Angular quickstart:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="https://cdn.firebase.com/js/client/2.2.4/firebase.js"></script>
<script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
...
var app = angular.module("sampleApp", ["firebase"]);
...
app.controller("SampleCtrl", function($scope, $firebaseObject) {
var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com");
$scope.data = $firebaseObject(ref);
console.log($scope.data);
});
一切看起来都正确......你确定你也确实包括角度来源吗?
否则,您应该共享代码的相关部分......