programing

각도에서는 페이지 변경과 같은 사용자 이벤트에서 $interval을 취소하려면 어떻게 해야 합니까?

easyjava 2023. 3. 10. 22:51
반응형

각도에서는 페이지 변경과 같은 사용자 이벤트에서 $interval을 취소하려면 어떻게 해야 합니까?

에 대한 각진 문서$interval는 다음과 같이 말하고 있습니다.

주의: 이 서비스에 의해 작성된 간격은 종료 후 명시적으로 파기해야 합니다.

하지만 어떻게 $120를 파괴하는지는 설명이 안 돼요

예를 들어 다음 코드가 포함된 명령이 있는 경우:

$interval(function() {
    for (var i in myArray) {
        // do domething
    }
}, 5000);

예를 들어 사용자가 페이지를 변경할 때 어떻게 삭제할 수 있습니까?

사용자가 페이지를 변경할 때마다 루트 컨트롤러와 관련된 스코프(/page1이벤트를 보냅니다.넌 할 수 있다.cancel그거$interval그 이벤트의 청취자:

app.config(function ($routeProvider) {
     $routeProvider.when('/page1', {
          template: '<div>Page Content</div>',
          controller: PageController
      });
     // ...
});

function PageController($scope, $interval) {
    var intervalPromise = $interval(function () { /* ... */ }, 5000);      
    $scope.$on('$destroy', function () { $interval.cancel(intervalPromise); });
}

언급URL : https://stackoverflow.com/questions/21364480/in-angular-how-to-use-cancel-an-interval-on-user-events-like-page-change

반응형