Как обновлять время каждую минуту в компоненте moment-js в Polymer 2?

Я использую компонент moment-js в Polymer 2. Время обновляется не каждую минуту , Мне нужно обновить страницу, чтобы обновить время. Как обновлять время каждую минуту без обновления страницы? Я использую следующий код:

<moment-js class="clock title" format="hh:mm A"></moment-js>

person Amanshu Kataria    schedule 24.06.2017    source источник


Ответы (2)


Как указал Умит, функция _updateFormattedDateMoment() from moment-js обновит отображаемое время. Вот как вы использовали бы его в Polymer 2:

class XFoo extends Polymer.Element {
  static get is() { return 'x-foo'; }

  connectedCallback() {
    super.connectedCallback();
    setInterval(() => this.updateDate(), 1000);
  }

  updateDate() {
    // assumes <moment-js id="clock" ...>
    this.$.clock._updateFormattedDateMoment();
  }
}
customElements.define(XFoo.is, XFoo);

демонстрация

person tony19    schedule 24.06.2017

Вы можете использовать защищенную функцию _updateFormattedDateMoment().

В родительском компоненте вы можете сделать что-то вроде этого:

created: function() {
    this.timer = setInterval(this.updateDate, 1000);
}

updateDate: function() {
    var moment = this.root.querySelector('.clock');
    moment._updateFormattedDateMoment();
}
person Ümit    schedule 24.06.2017
comment
У меня это не сработало. Вы используете синтаксис Polymer 1. Даже после замены его на Polymer 2 он не работал. - person Amanshu Kataria; 24.06.2017