首先,我必须指出过滤器有效,即使我得到了异常。例外是:
TypeError: Cannot read property 'substr' of undefined
我将过滤器注册到模块,据我所知,我可以在任何控制器中使用该过滤器。 ngRepeat
位于一个控制器中,h3
位于另一个控制器中。 ngRepeat
用法有效,没有任何例外,但h3
一个会抛出上面的那个,即使它以正确的格式显示日期。
过滤器
var Filter = function() {
return function(jsonDate) {
return new Date(parseInt(jsonDate.substr(6)));
};
};
AppModule.filter("jsonToAngularDate", Filter);
用法
{{ order.Date | jsonToAngularDate | date:'dd.MM.yyyy' }}
两个地方都使用完全相同的用法。
更新
原来我得到了错误,因为我异步加载日期。如何避免错误?我应该抓取init
函数中的数据吗?
答案 0 :(得分:0)
将过滤器更改为空值帐户。
var Filter = function() {
return function(jsonDate) {
return jsonDate ? new Date(parseInt(jsonDate.substr(6))) : '';
};
};
AppModule.filter("jsonToAngularDate", Filter);