当前位置: 首页 > 面试题库 >

在角度,如何在用户事件(如页面更改)上使用cancel $ interval?

南门刚捷
2023-03-14
问题内容

Angular文档关于$interval说:

注意:完成此服务后,必须显式销毁此服务创建的间隔。

但这并没有说明如何破坏$ interval。

例如,如果我有一个包含以下代码的指令:

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

例如,当用户更改页面时,如何销毁它?


问题答案:

每当用户更改页面时,与路由控制器关联的范围(/page1在下面的示例中)将被发送一个$destroyevent。你可以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); });
}


 类似资料:
  • 我需要根据某些条件更改div的类。我如何使用*ngif来实现这一点?我使用在我的模板中正常工作的这段代码。 但是我在这个div上面有一个div,它目前是 我需要的是if*ngIF="快速搜索类型选项配置 其他 有没有办法做到这一点,然后做 2 *ngif的

  • 如何在SegmentFault上更改用户名,用户名的修改流程是什么? 需要具体流程

  • 问题内容: 我想要类似的东西: 问题答案: 类更改时不会引发任何事件。另一种方法是在以编程方式更改类时手动引发事件: 更新 这个问题似乎正在吸引一些访问者,因此这里是一种更新方法,可以使用该方法而不必使用new修改现有代码: 请注意,只能用于更新的浏览器,特别是Chrome 26,FF 14,IE 11,Opera 15和Safari6。如果需要支持旧版浏览器,则需要使用我在第一个示例中概述的方法

  • 问题内容: 我发现了几个类似的问题,但是没有一个答案有帮助。它们似乎都涉及某种类型的依赖关系,而我无法正确注入。 我的代码如下: RUN功能 HTML 问题答案: 我的方法很简单。在路由配置中,您可以定义: 然后您监听事件并进行设置。在应用程序运行块中(为此的最佳位置): 这种方法的好处是,它使您可以避免再绑定,这很好。

  • 在React router中,我必须单击和onClick属性,如下所示 属性导航到关于路线 当我给超时内嵌函数调用点击,其导航到新页面,并在某个时候状态得到更新,导致显示以前的名称,直到状态更新为新名称。 是否有一种方法,只有在onClick函数中的代码执行之后,它才会导航到新路由。 您可以[在这里]获取整个代码(https://github.com/pushkalb123/basic-react

  • 目前我在主干中有这个功能。 它会在触发onChange事件时更新模型。 我正在使用react的datepicker组件在这个模型中添加一个日期字段,但是主干的这个函数在我选择日期时不会触发onChange事件。这是一个组件:https://github.com/Hacker0x01/react-datepicker 在我的组件中,我手动触发了“更改”事件 这很好,但当我在datepicker中选择