$interval在AngularJS控制器中设置时不工作

$interval在AngularJS控制器中设置时不工作,angularjs,setinterval,Angularjs,Setinterval,我在这里查看了其他问题,但他们没有答案 我有以下内容:(节选) 。。。 $scope.direction='left'; $scope.currentSlideIndex=0; $scope.nextSlide=函数(){ $scope.direction='left'; $scope.currentSlideIndex=($scope.currentSlideIndex

我在这里查看了其他问题,但他们没有答案

我有以下内容:(节选)

。。。
$scope.direction='left';
$scope.currentSlideIndex=0;
$scope.nextSlide=函数(){
$scope.direction='left';
$scope.currentSlideIndex=($scope.currentSlideIndex<$scope.slides.length-1)?++$scope.currentSlideIndex:0;
};
$interval($scope.nextSlide,4000);
...
什么也没发生。我已经注射了$interval。没有控制台错误消息。我知道函数本身可以工作,因为当使用ng click调用它时,它工作得很好


潜在问题:我在同一页上有一个新闻提要滚动。那个新闻提要的潜在间隔会杀死这个吗?这是从外部脚本获取其移动,我很难确定它,以阻止它进行检查。

这个示例可能会对您有所帮助

var myapp = angular.module("myapp", []);
    myapp.controller("MyController", *function($scope, $interval)*{
        $interval(callAtInterval, 5000);
    });
    function callAtInterval() {
        console.log("Interval occurred");
    }

试试上面的代码。

这个例子可能会对你有所帮助

var myapp = angular.module("myapp", []);
    myapp.controller("MyController", *function($scope, $interval)*{
        $interval(callAtInterval, 5000);
    });
    function callAtInterval() {
        console.log("Interval occurred");
    }

试试上面的代码。

我发现了问题。正如我提到的,网站上也有一个新闻提要。那里有一段代码,它会终止所有的间隔,并重新启动我想要的间隔。那是在3.5秒的时候发生的。我把这些都清理干净了,正确地设置了间歇时间,现在我两人都跑得很好


谢谢大家的帮助!:-)

我发现了这个问题。正如我提到的,网站上也有一个新闻提要。那里有一段代码,它会终止所有的间隔,并重新启动我想要的间隔。那是在3.5秒的时候发生的。我把这些都清理干净了,正确地设置了间歇时间,现在我两人都跑得很好


谢谢大家的帮助!:-)

你确定它没有开火吗?您尝试过控制台日志记录来查看吗?从我所看到的来看,这个电话很好。我在函数和nada中添加了一个警报。
$interval($scope.nextSlide,4000)是什么时候正在完成设置?这是在ng单击之后还是在页面完成加载之后?它在我的控制器中,就在定义函数之后。然而,我也把它放在了我的script.js中,我想也许它最初并没有启动,但这也不起作用。如何确保在页面加载时调用它?就我个人而言,我从未直接在控制器中调用$interval。我通常用init方法包装这类内容<代码>$scope.init()$scope.init=function(){}
内调用
$interval
。也许试试。你确定它没有开火吗?您尝试过控制台日志记录来查看吗?从我所看到的来看,这个电话很好。我在函数和nada中添加了一个警报。
$interval($scope.nextSlide,4000)是什么时候正在完成设置?这是在ng单击之后还是在页面完成加载之后?它在我的控制器中,就在定义函数之后。然而,我也把它放在了我的script.js中,我想也许它最初并没有启动,但这也不起作用。如何确保在页面加载时调用它?就我个人而言,我从未直接在控制器中调用$interval。我通常用init方法包装这类内容<代码>$scope.init()$scope.init=function(){}
内调用
$interval
。也许试一下,等一下。在我的示例中,函数和间隔调用都在控制器中。这有区别吗?在我的代码中,在控制器声明中注入$interval。比如$score关键字。好的,您可能需要定义具有特定名称的函数,比如“function callAtInterval()”。我可以看看您的controller.js文件吗?请稍等。在我的示例中,函数和间隔调用都在控制器中。这有区别吗?在我的代码中,在控制器声明中注入$interval。比如$score关键字。好的,您可能需要定义具有特定名称的函数,比如“function callAtInterval()”。我可以看看您的controller.js文件吗?