首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让倒计时计时器在Angular 10中工作

如何让倒计时计时器在Angular 10中工作
EN

Stack Overflow用户
提问于 2020-09-22 18:54:21
回答 1查看 2.4K关注 0票数 0

我正在尝试创建一个Angular-Nativescript共享应用程序,当计时器达到零时执行一些功能。我还希望定时器在结束值更改时重新启动/重置。

在Angular 9中,此功能与angular-countdown-timer包一起工作。

然而,自从升级到Angular 10之后,我无法通过需要一些泛型类型问题的ModuleWithProviders

我还尝试过使用angular8-countdown-timer,它在页面加载时设置end值,而不是在页面加载之后(即使组件中的End值正在更改)。

我还尝试了一些较旧的包,如ngx-countdown-timer,但没有任何乐趣,因为它们通常会违反ModuleWithProviders限制。

我试过使用ModuleWithProviders<any>ModuleWithProviders<unknown>,就像我在类似的帖子中看到的建议一样,但编译器只是在我面前大笑。

任何与上述任何帮助,甚至是联系作者的方式都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-12-05 06:56:29

我不确定我是否完全理解了你的问题,但我只是updated my own angular9 project使用一个稍微更有效的计时器,我没有导入所有的rxjs。

我在页面上使用了几个计数器和几个重置。

基本上,当我启动一个计时器时,我会生成一个新的计时器,并在时间间隔过去时执行工作,然后在单击停止按钮时停止订阅。为了做你想做的,我猜你只需要从"do stuff“块内部调用.unsubscribe()函数即可。

我希望这能帮助你,或者其他来这里寻找angular 8-10中的时间的人。

代码语言:javascript
复制
import { Subscription, timer } from 'rxjs';

...
  subscription: Subscription;


  startTimer(){
    const source = timer(1000, 2000);
    this.subscription = source.subscribe(val => {
       // do stuff you want when the interval ticks
    }
  }

  stopTimer(){
    this.subscription.unsubscribe();
  }

我的灵感来自this article

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64008222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档