如何创建自定义 angular-moment 过滤器
How to create a custom angular-moment filter
我想创建一个自定义 angular 时刻过滤器以仅显示从特定出生日期起经过的年份。
例如我有一个值 1990-06-05,它应该显示 25。
我正在使用:<time am-time-ago="player.birthday"></time>
但是显示it's been 25 years
常规 amTimeAgo
过滤器采用三个参数:
- 价值
- 预处理
- 后缀
as per the momentjs#fromNow implementation.
如果最后传递给过滤器的参数是 true
,您可以将输出更改为:
it's been 25 years
到 25 years
。
如果这样还不行,您可以像这样创建自己的过滤器:
.filter('straightUpYear', function (amTimeAgoFilter) {
return function (value) {
return amTimeAgoFilter(value, false, true).replace(/years/, '');
}
});
然后这样使用它:
<time>{{ player.birthday | straightUpYear }}</time>
值得注意的一件事;您要求 filter
,但在您的示例中,您使用的是 amTimeAgo
的 指令 版本。
如果目标是创建一个指令,请编辑您的问题以指定它,我将相应地修改我的答案。
我想创建一个自定义 angular 时刻过滤器以仅显示从特定出生日期起经过的年份。
例如我有一个值 1990-06-05,它应该显示 25。
我正在使用:<time am-time-ago="player.birthday"></time>
但是显示it's been 25 years
常规 amTimeAgo
过滤器采用三个参数:
- 价值
- 预处理
- 后缀
as per the momentjs#fromNow implementation.
如果最后传递给过滤器的参数是 true
,您可以将输出更改为:
it's been 25 years
到 25 years
。
如果这样还不行,您可以像这样创建自己的过滤器:
.filter('straightUpYear', function (amTimeAgoFilter) {
return function (value) {
return amTimeAgoFilter(value, false, true).replace(/years/, '');
}
});
然后这样使用它:
<time>{{ player.birthday | straightUpYear }}</time>
值得注意的一件事;您要求 filter
,但在您的示例中,您使用的是 amTimeAgo
的 指令 版本。
如果目标是创建一个指令,请编辑您的问题以指定它,我将相应地修改我的答案。