是否可以扩展现有的“标准”过滤器(日期,数字,小写等)?
在我的情况下,我需要解析日期从YYYYMMDDhhmmss格式,所以我想扩展(或重写)日期过滤器,而不是写我自己的。
在我的情况下,我需要解析日期从YYYYMMDDhhmmss格式,所以我想扩展(或重写)日期过滤器,而不是写我自己的。
我不知道我是否正确理解你的问题,但如果你想扩展现有过滤器的功能,你可以创建一个新的过滤器来装饰一个现有的过滤器。例:
原文链接:https://www.f2er.com/angularjs/145611.htmlmyApp.filter('customDate',function($filter) { var standardDateFilterFn = $filter('date'); return function(dateToFormat) { return 'prefix ' + standardDateFilterFn(dateToFormat,'yyyyMMddhhmmss'); }; });
然后,在您的模板:
{{now | customDate}}
说了以上,如果你只是想格式化一个日期根据给定的格式,这可以用现有的日期过滤器:
{{now | date:'yyyyMMddhhmmss'}}
这里是工作jsFiddle说明这两种技术:http://jsfiddle.net/pkozlowski_opensource/zVdJd/2/
请注意,如果没有指定格式,AngularJS将假定这是一个“中”格式(确切的格式取决于区域设置)。检查http://docs.angularjs.org/api/ng.filter:date更多。
最后一句话:我对你的问题的“解析”部分有点困惑。事情是,过滤器用于解析一个对象(在这种情况下的日期)到字符串,而不是反之亦然。如果你在解析表示日期的字符串(输入)之后,你必须查看NgModelController#$ parsers(检查http://docs.angularjs.org/guide/forms中的“自定义验证”部分)。