Angular JS

时间:2015-05-19 09:57:59

标签: angularjs

我有控制器并在$ timeout函数内:

.controller('MapCtrl', ['$scope', '$http', '$log', '$timeout', function ($scope, $http, $interval, $log, $timeout) {
   $timeout(function () {
                $scope.marker.coords = {
                    latitude: 42.1451,
                    longitude: -100.6680
                };
                $scope.dynamicMoveCtr++;
                $timeout(function () {
                    $scope.marker.coords = {
                        latitude: 43.1451,
                        longitude: -102.6680
                    };
                    $scope.dynamicMoveCtr++;
                }, 2000);
            }, 1000);
}]);

为什么它会给我错误:

  

typeError:$ timeout不是函数       在新的(angularmy.js:2879)       at Object.e [as invoke](angular.min.js:36)       在$ get.x.instance(angular.min.js:75)

在另一个控制器功能$timeout工作正确

2 个答案:

答案 0 :(得分:1)

.controller('MapCtrl', ['$scope', '$http', '$log', '$timeout', function ($scope, $http, $interval, $log, $timeout)

字符串参数与传递给函数的参数不匹配。

'$scope', '$http', '$log', '$timeout'

($scope, $http, $interval, $log, $timeout)

答案 1 :(得分:1)

您忘记注入$ timeout参数。

修复如下:

.controller('MapCtrl', ['$scope', '$http','$interval', '$log', '$timeout', function ($scope, $http, $interval, $log, $timeout) {