大家好,我刚刚学习了 angular JS 和 Firebase,出于某种原因,当我尝试在以下代码中调用 $timeout 函数时,似乎遇到了引用错误:
'use strict';
/**
* @ngdoc function
* @name drivenApp.controller:MainCtrl
* @description
* # MainCtrl
* Controller of the drivenApp
*/
angular.module('drivenApp')
.controller('MainCtrl', function ($scope) {
var rootRef = new Firebase('https://vivid-torch-5432.firebaseio.com/');
var childRef = rootRef.child('message');
childRef.on('value', function(snapshot){
$timeout(function() {
var snapshotVal = snapshot.val();
console.log(snapshotVal);
$scope.message = snapshot.val();
});
});
});
我得到这个确切的错误:
Uncaught ReferenceError: $timeout is not defined(anonymous function) @ main.js:16(anonymous function) @ firebase.js:202gc @ firebase.js:52cc @ firebase.js:30dc @ firebase.js:29h.Kb @ firebase.js:221h.Ld @ firebase.js:189Fh.Ld @ firebase.js:179(anonymous function) @ firebase.js:177zh @ firebase.js:171La.onmessage @ firebase.js:170
知道为什么会这样吗?谢谢,尼克
最佳答案
您需要声明 $timeout
才能像这样使用它:
angular.module('drivenApp')
.controller('MainCtrl', function ($scope, $timeout) {
var rootRef = new Firebase('https://vivid-torch-5432.firebaseio.com/');
var childRef = rootRef.child('message');
childRef.on('value', function(snapshot){
$timeout(function() {
var snapshotVal = snapshot.val();
console.log(snapshotVal);
$scope.message = snapshot.val();
});
});
});
关于javascript - AngularJS 和 Firebase '$timeout is not defined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35526153/