【问题标题】:AngularJS & Firebase '$timeout is not defined'AngularJS 和 Firebase '$timeout 未定义'
【发布时间】:2016-02-20 16:51:52
【问题描述】:

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

知道为什么会发生这种情况吗?谢谢,尼克

【问题讨论】:

    标签: javascript angularjs firebase yeoman


    【解决方案1】:

    您需要声明$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();
          });
        });
      });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-17
      • 1970-01-01
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多