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