0
我想创建一个自定义角矩滤波器以仅显示从specefic出生日期开始经过的年份。如何创建自定义角矩滤波器
比如我有一个价值1990年6月5日,它应该显示25
我使用:<time am-time-ago="player.birthday"></time>
但它显示it's been 25 years
我想创建一个自定义角矩滤波器以仅显示从specefic出生日期开始经过的年份。如何创建自定义角矩滤波器
比如我有一个价值1990年6月5日,它应该显示25
我使用:<time am-time-ago="player.birthday"></time>
但它显示it's been 25 years
常规amTimeAgo
过滤器有三个参数:
按照该实施momentjs#fromNow。
如果最后一个传递的参数的过滤器是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
。
如果目标是创建一个指令,请编辑您的问题以指定它,我将相应地修改我的答案。
感谢您的回答,这是更好的指令还是过滤器? –
那么,一个过滤器可以更可重用,因为你可以在你的控制器和服务中使用它。另一方面,指令在DOM操作方面更加强大,您可以*在指令中使用过滤器。这取决于你需要多少果汁:) –
而且我也会注意到;在内部使用过滤器*您的控制器**比使用管道'|'表示法在视图中使用更快**,因为过滤器在使用管道时会评估两次。但是从控制器调用一次。 –