【发布时间】:2015-05-07 08:44:36
【问题描述】:
尝试将 AngularFire 用于一个简单的 Angular 轮询测试应用程序来存储基本对象。我尝试注入 $firebase(它记录了一个错误,建议我不推荐使用 $firebaseObject 和 $fireBaseArray)。注入其中任何一个都会导致相同的问题不变。
我四处搜索,但我发现的大多数帖子都涉及 bower.json 语法错误或特定于 JSHint 的内容。对我来说,这两者都不是。
错误信息
ReferenceError: Firebase is not defined
要符合的点...
new Firebase(...)
这是我的应用代码:
angular.module('angPoll', ['ui.router', 'firebase']).
config(...).
controller('pollsController', function($scope, pollsData) {
$scope.pollsList = pollsData.getPolls();
}).
service('pollsData', function($firebaseObject){
console.log($firebaseObject); <-- [verified here that the injection works]
var fireRef = new Firebase('https://<my-ref-url>.firebaseio-demo.com/');
var pollsRef, polls;
pollsRef = $firebaseObject(fireRef.child('polls')).$asArray();
this.clearPolls = clearPolls;
this.setInitialPolls = setInitialPolls;
this.getPolls = getPolls;
myDataRef.set({});
function clearPolls() {
pollsRef.set({});
}
function getPolls() {
pollsRef.on("value", function(snapshot){
console.log(snapshot.val());
polls = snapshot.val();
return polls;
})
}
function setInitialPolls() {
pollsRef.set({
one: {
name: "fantastic poll"
},
two: {
name: "mediocre poll"
}
});
}
setInitialPolls();
});
我已经对这个问题进行了研究:
Firebase, AngularFire Error: Module firebase is not available
Angularfire 'Firebase' is not defined
https://github.com/firebase/angularfire/issues/362
我还看到了关于 JSHint 的这种破坏的帖子,但不是在应用程序本身中。我的问题在于应用程序本身的功能。
我的 bower.json 以防万一:
{
"name": "MyPoll",
"version": "0.0.0",
"authors": [
"thedig"
],
"license": "MIT",
"private": true,
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"angular": "~1.3.14",
"angular-ui-router": "~0.2.13",
"angular-local-storage": "~0.1.5",
"bootstrap": "~3.3.2",
"restangular": "~1.4.0",
"angularfire": "~1.0.0"
}
}
Angularfire 包含在 index.htm 中:
<head>
<link rel="stylesheet" type="text/css" href="../bower_components/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="../bower_components/angular/angular.js"></script>
<script type="text/javascript" src="../bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<script type="text/javascript" src="../bower_components/angular-local-storage/dist/angular-local-storage.js"></script>
<script type="text/javascript" src="../bower_components/restangular/dist/restangular.js"></script>
<script type="text/javascript" src="../bower_components/lodash/dist/lodash.js"></script>
<script type="text/javascript" src="../bower_components/angularfire/dist/angularfire.js"></script>
<script type="text/javascript" src="MyPoll.js"></script>
</head>
【问题讨论】:
-
您的 HTML 中是否包含 Firebase + AngularFire?
-
是的,它通过 bower 包含在内,正在更新帖子以反映。
-
啊哈,我明白缺少什么了。
标签: angularjs firebase angularfire