【问题标题】:How to update date diff automatically如何自动更新日期差异
【发布时间】:2016-01-12 06:58:21
【问题描述】:

我正在尝试在我的 ionic 应用程序中显示现在和使用 moment 的日期之间的区别。

这就是我正在尝试的:

控制器

this.getElapsedTime = function(){
    return moment(moment(new Date()).diff(moment(this.user.date))).format("HH:mm:ss");
};

查看

<span class="footer-title">Tempo trascorso: {{myCtrl.getElapsedTime()}}</span>

我的问题是日期会自动更新视图一秒钟然后它不会改变。

如何告诉 Angular 始终更新视图?

【问题讨论】:

  • 旁白:您的时刻代码可以简化为moment.utc(moment().diff(this.user.date)).format("HH:mm:ss")。此外,您应该阅读this answer,了解如何正确格式化持续时间(如果持续时间超过 24 小时)。

标签: angularjs date ionic-framework momentjs


【解决方案1】:

我不建议依赖 Angular 绑定来如此频繁地更改某些内容,因为它们更新的唯一方法是进行完整的摘要,如果你太频繁地这样做会降低性能。

相反,创建一个接收日期值的指令,然后直接操作元素的 innerHTML 以更新 setInterval() 函数中的剩余时间。

不要忘记取消$destroy范围事件中的时间间隔以防止内存泄漏。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 2022-12-14
    • 2019-06-14
    相关资源
    最近更新 更多