2016-09-19 41 views
0

我是firebase和angularfire的新手。在我的應用程序中,我試圖在Firebase數據庫中創建一個新項目(一個教師對象)。我一直得到Error: Can't find variable: Firebase錯誤:無法找到變量:Firebase(angularjs和角火)

我已經包括以下中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中。

回答

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獲取更多信息。

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); 
}); 

一切看起來正確的...你確定你是有角的來源,也?

否則,你應該分享您的代碼的相關部分...

+0

是啊我已經加載了一個腳本標記中的angularjs ...我覺得firebase.js代碼在某種程度上不可用在這個控制器的上下文中,我只是不明白...我只是基本上遵循文件沒有嘗試任何聰明。 – swdon

+0

您的瀏覽器開發人員控制檯或網絡選項卡是否顯示任何錯誤? – MarcoS

相關問題