javascript - 即使过滤器工作, Angular 过滤器也会抛出 "Can' t interpolate"错误

标签 javascript angularjs

我有以下过滤器(为什么我从 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/

相关文章:

AngularJS:动态添加的字段未在 FormController 上注册

javascript - 如何仅在 Meteor 中不存在时插入

javascript - 在 Quill Rich Editor 中包含标题

angularjs - Angular Js ng-init 和 data-ng-init 之间的区别

HTML,Body height 100% 不起作用

javascript - 将 jquery 指定为 angularjs 的依赖项会在 requirejs 中生成错误

Javascript regExp 接受小数点前 12 位数字和小数点后两位数字

javascript - 为什么这个持有 SVG 的 `blob:` URL 会污染 Chrome 中的 Canvas ?

javascript - 使用选择选项下拉更改图像,但对于多个事件?

javascript - jQuery 添加元素到 DOM : the right way