угловой 4 - наблюдаемый таймер в минутах - PullRequest
0 голосов
/ 06 декабря 2018

Как я могу отображать мой таймер в минутах вместо секунд?

Вот что я получил:

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 голосов
/ 06 декабря 2018

Вы хотите использовать Угловую десятичную трубу , поэтому ваш код будет выглядеть примерно так:

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

CountDown делится на 60, чтобы получить минуты, а затемпробежаться по трубе, чтобы показать как минимум 1 целое число и 0 десятичных дробей.

Вы можете получить оставшиеся секунды с помощью операции%.

0 голосов
/ 06 декабря 2018

Вы запланировали, что ваш таймер будет работать каждую секунду, чтобы он работал каждую минуту, вам нужно сделать, как следует Observable.timer(60000) 60000 для 60 секунд (1 минута)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...