如何创建自定义角度矩过滤器

时间:2015-07-21 10:39:51

标签: angularjs momentjs

我想创建一个自定义角度矩过滤器,仅显示从一个特殊的出生日期开始的年份。

例如,我的值为1990-06-05,它应显示为25。

我正在使用:<time am-time-ago="player.birthday"></time>

但它显示it's been 25 years

1 个答案:

答案 0 :(得分:1)

常规amTimeAgo过滤器有三个参数:

  • 预处理
  • 后缀
  

根据momentjs#fromNow实施。

如果最后一个传递给过滤器的参数是true,您可以更改输出:

it's been 25 years25 years

如果它没有剪切,你可以像这样创建自己的过滤器:

.filter('straightUpYear', function (amTimeAgoFilter) {
  return function (value) {
    return amTimeAgoFilter(value, false, true).replace(/years/, '');
  }
});

然后使用它:

<time>{{ player.birthday | straightUpYear }}</time>

<强> jsbin showcasing the result

注意事项;您要求filter,但在您的示例中,您使用的是{em>指令版本的amTimeAgo

如果目标是创建指令,请编辑您的问题以指定它,我将相应地修改我的答案。