如何在角度js中的自定义过滤器中使用日期过滤器

时间:2015-04-27 06:31:36

标签: angularjs angular-ui

我创建了一个自定义过滤器,它是日期过滤器的包装器。

(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进入无限循环 如何在自定义过滤器中使用日期过滤器?或者如何避免这种无限循环?

0 个答案:

没有答案