Angularfire Uncaught ReferenceError: Firebase is not defined
Angularfire Uncaught ReferenceError: Firebase is not defined
我正在按照示例开始使用 Firebase 和 Angular - Firecasts #4,我不断得到:
Uncaught ReferenceError: Firebase is not defined.
有什么想法吗?
这是我的 app.js:
angular
.module('app', ['ngRoute', 'firebase'])
.constant('FirebaseUrl', 'https://<my-app>.firebaseio.com/')
.service('rootRef', ['FirebaseUrl', Firebase])
.service('users', Users)
.controller('MyCtrl', MyController)
.config(ApplicationConfig);
function ApplicationConfig($routeProvider) {
$routeProvider.when('/', {
controller: 'MyCtrl as ctrl',
templateUrl: 'views/myctrl.html'
});
}
function Users(rootRef, $firebaseObject, $firebaseArray) {
var usersRef = rootRef.child('users');
this.get = function get(id) {
return $firebaseObject(usersRef.child(id));
};
this.all = function all() {
return $firebaseArray(usersRef);
};
}
function MyController(users) {
this.users = users.all();
}
这是我的 index.html:
<!DOCTYPE html>
<html lang="en" ng-app="app">
<head>
<meta charset="UTF-8">
<title>AngularFire</title>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/firebase/firebase.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angularfire/dist/angularfire.js"></script>
<script src="app.js"></script>
</head>
<body>
<ng-view></ng-view>
</body>
</html>
您需要插入:
var rootRef = new Firebase('https://<my-app>.firebase.io.com');
在 MyController
内部,如 所示。
评论员解释说 Firebase
作为 "Firebase constructor function."
注入到控制器中
'FirebaseUrl'
就是上面在 .constant
.
里面定义的 url
他的解释非常快,但无论哪种方式,您都需要那行代码来帮助定义引用。
如果有人有更多见解,请对此 post 进行编辑或评论。
看来您使用的是新版本的 firebase。继续像这里所说的那样重写这个例子:https://firebase.google.com/support/guides/firebase-web#monitor_authentication_state_numbered。
您需要第 4 点:"In the new SDKs, you no longer instantiate a database references via new Firebase. Instead, you will initialize the SDK via firebase.initializeApp()..."
我将此添加为使用 link 的答案:new docs
正如 Boas Babs 所说,新版本使用不同的方法来获取数据库引用。
app.controller("SampleCtrl", function($scope, $firebaseObject) {
var ref = firebase.database().ref();
// download the data into a local object
$scope.data = $firebaseObject(ref);
});
我正在按照示例开始使用 Firebase 和 Angular - Firecasts #4,我不断得到:
Uncaught ReferenceError: Firebase is not defined.
有什么想法吗?
这是我的 app.js:
angular
.module('app', ['ngRoute', 'firebase'])
.constant('FirebaseUrl', 'https://<my-app>.firebaseio.com/')
.service('rootRef', ['FirebaseUrl', Firebase])
.service('users', Users)
.controller('MyCtrl', MyController)
.config(ApplicationConfig);
function ApplicationConfig($routeProvider) {
$routeProvider.when('/', {
controller: 'MyCtrl as ctrl',
templateUrl: 'views/myctrl.html'
});
}
function Users(rootRef, $firebaseObject, $firebaseArray) {
var usersRef = rootRef.child('users');
this.get = function get(id) {
return $firebaseObject(usersRef.child(id));
};
this.all = function all() {
return $firebaseArray(usersRef);
};
}
function MyController(users) {
this.users = users.all();
}
这是我的 index.html:
<!DOCTYPE html>
<html lang="en" ng-app="app">
<head>
<meta charset="UTF-8">
<title>AngularFire</title>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/firebase/firebase.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angularfire/dist/angularfire.js"></script>
<script src="app.js"></script>
</head>
<body>
<ng-view></ng-view>
</body>
</html>
您需要插入:
var rootRef = new Firebase('https://<my-app>.firebase.io.com');
在 MyController
内部,如
评论员解释说 Firebase
作为 "Firebase constructor function."
'FirebaseUrl'
就是上面在 .constant
.
他的解释非常快,但无论哪种方式,您都需要那行代码来帮助定义引用。
如果有人有更多见解,请对此 post 进行编辑或评论。
看来您使用的是新版本的 firebase。继续像这里所说的那样重写这个例子:https://firebase.google.com/support/guides/firebase-web#monitor_authentication_state_numbered。
您需要第 4 点:"In the new SDKs, you no longer instantiate a database references via new Firebase. Instead, you will initialize the SDK via firebase.initializeApp()..."
我将此添加为使用 link 的答案:new docs
正如 Boas Babs 所说,新版本使用不同的方法来获取数据库引用。
app.controller("SampleCtrl", function($scope, $firebaseObject) {
var ref = firebase.database().ref();
// download the data into a local object
$scope.data = $firebaseObject(ref);
});