如何在Polymer 2中的moment-js组件中每分钟更新一次?

时间:2017-06-24 08:41:00

标签: javascript polymer momentjs polymer-2.x

我在Polymer 2中使用moment-js组件。时间不会每分钟更新,我刷新页面以更新时间。如何在不刷新页面的情况下每分钟更新一次? 我使用以下代码:

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

2 个答案:

答案 0 :(得分:1)

正如Umit所指出的,moment-js中的_updateFormattedDateMoment()函数会更新显示的时间。这就是你在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);

demo

答案 1 :(得分:0)

您可以使用受保护的_updateFormattedDateMoment()功能。

在您的父组件中,您可以执行以下操作:

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

updateDate: function() {
    var moment = this.root.querySelector('.clock');
    moment._updateFormattedDateMoment();
}