javascript - AngularJS 和 Firebase '$timeout is not defined'

标签 javascript angularjs firebase yeoman

大家好,我刚刚学习了 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/

相关文章:

javascript - 在没有 Controller 的情况下将数组传递给 Angular 中的组件

javascript - #AskFirebase FCM Web 推送 token 失效时间

angularjs - Firebase 和 AngularJS,如何从 firebaseArray 检索值

javascript - Angular 服务问题

javascript - Firebase 到 localStorage

javascript - 在键盘搜索输入(分页)上显示正确的项目数的问题

javascript - Opera/Firefox Javascript 引擎差异

javascript - 我的 append() 似乎不起作用

javascript - 连接的组件初始渲染失败,因为 Redux 状态尚未从服务器填充

javascript - 如何在Angular JS中的选择选项中获取所选项目ID