Javascript 如何处理$interval不是angularjs中的函数错误?

Javascript 如何处理$interval不是angularjs中的函数错误?,javascript,angularjs,Javascript,Angularjs,我使用angularjs$interval函数在单击向上/向下箭头时连续增加/减少一个值。但是当我尝试增加/减少时,我得到一个错误“TypeError:$interval不是一个函数”。如何解决此问题,请提前感谢。这是我迄今为止编写的代码: $scope.onMouseDown=函数(类型){ promise=$interval(函数(){ 如果(类型==“Inc”){ $scope.increaseVal(); } else if(类型='Dec'){ $scope.decreaseVal(

我使用angularjs$interval函数在单击向上/向下箭头时连续增加/减少一个值。但是当我尝试增加/减少时,我得到一个错误“TypeError:$interval不是一个函数”。如何解决此问题,请提前感谢。这是我迄今为止编写的代码:

$scope.onMouseDown=函数(类型){
promise=$interval(函数(){
如果(类型==“Inc”){
$scope.increaseVal();
}
else if(类型='Dec'){
$scope.decreaseVal();
}
}, 150);
};
$scope.stopInterval=函数(){
$interval.取消(承诺);
};

将$interval服务注入控制器:

angular.module('yourmodulename').controller('yourcontrollername', [
    '$scope', '$interval',
    function ($scope, $interval) {
       $scope.onMouseDown = function (type) {
           promise = $interval(function () {
               if (type == 'Inc') {
                   $scope.increaseVal();
               }
               else if (type == 'Dec') {
                   $scope.decreaseVal();
               }
           }, 150);
       };
       $scope.stopInterval = function () {
           $interval.cancel(promise);
       };
}]);

您是否在控制器依赖项中包含$interval?即使阅读文档也会回答您的问题。请阅读。还有一些关于用法的示例您的
increaseVal
decreseval
函数是什么样子的@dev8080如果是这种情况,它不会说无法读取未定义的属性取消吗?如果是这种情况,它不会说
无法读取未定义的属性取消吗?抛出的错误是哪一行?我猜这就是您试图设置promise变量的地方,在这种情况下,您使用$interval作为函数。您甚至还没有找到试图调用$interval服务上的cancel的代码。谢谢大家,实际上我是通过多种方式调用此函数的。我错过了一个调用函数中$interval的注入。现在它运行良好。对不起,打扰了大家。