我创建了一个自定义过滤器,它是日期过滤器的包装器。
(function () {
'use strict';
app.filter('localiseDate', function ($filter,$locale) {
return function (val, args) {
var dateFormat, date;
if (Date.parse(val)) {
date = new Date(val);
if (args) {
dateFormat = $locale.DATETIME_FORMATS[args] ? $locale.DATETIME_FORMATS[args] : args;
}
else {
dateFormat = $locale.DATETIME_FORMATS.shortDate;
}
date = $filter('date')(date, dateFormat);
}
else {
date = val;
}
return date;
};
});
}())
当我尝试在服务中使用此过滤器时,在视图中它显示我跟随错误
Error: [$rootScope:infdig] http://errors.angularjs.org/1.2.13/$rootScope/infdig?p0=10&p1=%5B%5B%22fn%3…l%3A%20%5C%2210.09.14%5C%22%3B%20oldVal%3A%20%5C%2209.10.14%5C%22%22%5D%5D
它看起来像我将应用过滤器rootScope进入无限循环 如何在自定义过滤器中使用日期过滤器?或者如何避免这种无限循环?