角度4-可观察的计时器(以分钟为单位)

时间:2018-12-05 22:02:46

标签: javascript angular ionic-framework ionic3

如何显示分钟而不是秒的计时器?

这就是我得到的:

export class CustomHeader {

  countDown;
  counter = 36000;

  constructor(private toastCtrl: ToastController,public loadingCtrl: LoadingController,private alertCtrl: AlertController,public app: App,public viewCtrl: ViewController, public navCtrl: NavController, private webService: WebService, public modalCtrl: ModalController, public auth0: Auth0ServiceProvider, private globalVarsService: GlobalVarsService) {
    this.countDown = Observable.timer(0,1000)
    .take(this.counter)
    .map(() => --this.counter);
  }

}

在我的html中:

<span ion-text>{{countDown  | async}}</span>

它正在工作,但显示的内容如下: 35999 ... 35998 ...

  

有没有办法在几分钟而不是几秒钟内显示该数据?

2 个答案:

答案 0 :(得分:1)

您要使用Angular Decimal Pipe,因此您的代码应如下所示:

<span ion-text>{{countDown/60 | number: '1.0-0'}}:{{countDown%60}}</span>

将countDown除以60得到分钟,然后通过管道运行以显示至少1个整数和0个小数。

您可以通过%操作获得剩余的秒数。

答案 1 :(得分:0)

您已将计时器安排为每秒运行一次,为了使其每分钟运行一次,您需要像 public static void main(String[] args) { JFrame f = new JFrame(); File path = new File(getClass().getResource("/resources/image.jpg").getFile()); BufferedImage image = ImageIO.read(path); 60000一样持续60秒(1分钟)