2016-02-10 53 views
1

我已經檢查了這裏的其他問題,他們沒有答案。

我有以下幾點:(節選)

... 
    $scope.direction = 'left'; 
    $scope.currentSlideIndex = 0; 

    $scope.nextSlide = function() { 
     $scope.direction = 'left'; 
     $scope.currentSlideIndex = ($scope.currentSlideIndex < $scope.slides.length - 1) ? ++$scope.currentSlideIndex : 0; 
    }; 

    $interval($scope.nextSlide, 4000); 
    ... 

並沒有任何反應。我注入了$ interval。沒有控制檯錯誤消息。我知道這個函數本身起作用,因爲當它被ng-click調用時,它可以正常工作。

潛在問題:我有一個新聞源在同一頁上滾動。那份新聞採訪的潛在時間間隔是否可以殺死這個?這是從外部腳本獲得它的運動,我很難確定它是否被阻止檢查。

+0

你確定它沒有發射?你有沒有嘗試過控制檯日誌記錄看?該電話看起來很好,我看到了。 – Sean

+0

是的。我在函數和nada中加入了一個警報。 –

+0

何時執行'$ interval($ scope.nextSlide,4000);'設置?是在ng-click之後還是在頁面加載完成後? – Sean

回答

0

這個例子可能對你有幫助。

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

試試上面的代碼。

+0

等一下。在我的例子中,函數和間隔調用都在控制器中。這有什麼區別嗎? –

+0

在我的代碼中,在控制器聲明中注入$ interval。像$ score關鍵字一樣。 – HirenPatel

+0

我的控制器已經注入了$ interval。 –

0

我發現了這個問題。正如我所提到的,網站上還有一個新聞源。那裏有代碼正在殺死所有間隔並重新啓動我想要的那個。這發生在3.5秒的大關。我把所有這些都清理乾淨了,正確設置了間隔時間,現在我的運行狀況都很好。

謝謝大家的幫助! :-)