我有以下过滤器(为什么我从 StackOverflow 获得),它在一个页面上工作,但在另一个页面上抛出以下错误(使用相同的对象)。
app.filter('dateFormat', function dateFormat($filter){
return function(text){
var tempdate= new Date(text.replace(/-/g,"/"));
return $filter('date')(tempdate, "dd-MM-yyyy");
}
});
Can't interpolate: {{ job.job_date | dateFormat}}
TypeError: text is undefinedO/<@http://localhost/ef-serial-numbers/public/assets/global/plugins/angularjs/angular.min.js:6:412Ka.interr@http://localhost/ef-serial-numbers/public/assets/global/plugins/angularjs
如果我将 job.job_date 更改为硬编码日期,错误就会消失。问题是,无论出现什么错误,过滤器实际上都能正常工作。
最佳答案
也许在调用 .replace
之前检查 text
是否未定义。
从一开始,过滤函数可能会在 job.job_date
获取其值之前被调用。
关于javascript - 即使过滤器工作, Angular 过滤器也会抛出 "Can' t interpolate"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38850236/