【问题标题】:Formatting date on the fly [duplicate]即时格式化日期[重复]
【发布时间】:2016-10-15 18:07:33
【问题描述】:

我收到一个值,我希望去除垃圾,然后传递给 Angular 的日期格式功能。

这是我得到的:

/Date(1481328000000)/

我想ng-repeat 去掉所有不是数字的东西,从中创建一个日期然后使用:

<td>{{match.delivery_deadline_date | date: 'yyyy-MM-dd'}}</td>

在我的ng-repeat 指令中。有没有什么地方我可以指定运行一个自定义函数,在它尝试格式化之前去除垃圾?。

我环顾四周,我在 Google 上搜索到的所有内容最终都是关于在完成 ng-repeat 后运行代码,而不是在每个呈现的记录上运行自定义代码。

【问题讨论】:

  • 您可以使用myString = myString.replace(/\D/g,''); 删除除数字以外的所有内容。
  • @ChrisWissmach 是的,我知道如何在 javascript 中做到这一点,但我如何告诉 Angular 在每个呈现的记录上调用该代码?
  • 您可以编写自己的过滤器。 docs.angularjs.org/guide/filter
  • @Cyber​​Aleks 好的,过滤器是我需要的。谷歌搜索“渲染器”效率不高,谢谢。

标签: javascript angularjs angularjs-ng-repeat


【解决方案1】:

你总是可以给它传递一个过滤函数。 &lt;td&gt;{{match.delivery_deadline_date | dateFilter}}&lt;/td&gt;

然后您将拥有一个日期过滤功能,可以按照您想要的方式对日期进行排序。

angular.module('module.name')
  .filter('dateFilter', function () {
    return function (dateInputHere) {
       \\do some manipulation please
    }
  }
});

【讨论】:

    猜你喜欢
    • 2020-12-03
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    • 2021-04-06
    • 2019-07-28
    相关资源
    最近更新 更多