【发布时间】:2017-04-13 11:51:10
【问题描述】:
我有一些日期 ISO 字符串,我想将其格式化为人类可读的日期。我正在使用angular-moment 库在我的模板中使用过滤器来格式化这些日期。
<span>{{ $ctrl.date | amCalendar:referenceTime:formats }}</span>
我想自定义显示日期的格式如下:
const dateFormats = {
relative: {
sameDay: '[Today at] LT',
lastWeek: 'DD MMM, YYYY [at] LT',
sameElse: 'DD MMM, YYYY [at] LT'
}
}
所以我可以在我的模板中这样做:
<span>{{ $ctrl.date | amCalendar:null:dateFormats }}</span>
但是,我希望这些dateFormats 存在于全局的某个地方,而不是只存在于该组件的控制器中,因为我希望能够在其他模板中引用这些dateFormats。
这是否符合将dateFormats 附加到$scope 的适当用例,还是有更好的方法来处理这个问题?
感谢任何帮助。提前致谢!
【问题讨论】:
-
您可以使用常量(这是一个单例)来执行此操作。参考此链接 [link](ilikekillnerds.com/2014/11/…)]
-
看看this answer,不需要创建自定义过滤器,您可以在
run函数中自定义amCalendar,如docs中所述 -
应该查看过文档。这甚至更好。如果您将此添加为答案,我会接受。
标签: javascript angularjs momentjs angular-moment