我是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
中。
你混淆了你的版本。如果使用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);
查看文档获取更多信息
从Firebase Angular快速入门:
<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);
});
一切看起来都很好…你确定你也包括了角源吗?
否则,您应该共享代码的相关部分…