给定一个项目列表(将其视为与多条消息的聊天),我想使用moment.js来显示每个项目的相对时间(例如自创建以来)。
每个项目都有自己的组件,并且使用以下代码显示相对时间:
get timeFromNow(): string {
return moment(this.pageLoaded).fromNow(); // pageLoaded is a JS Date
}
问题是组件不会更新相对时间的显示,因为原始输入(pageLoaded
在上面的示例中)不会改变。
我的问题是:是否有处理这种情况的最佳实践?目前,我正在使用markForCheck
ofChangeDetectorRef
来触发重新渲染。但是,我不确定这在性能方面是否是一种好的方法。
我在 Stackblitz 创建了一个简单的演示。在演示中,我使用上述markForCheck
方法来触发更新。