Javascript 未捕获的TypeError:无法读取未定义的属性“filter”

Javascript 未捕获的TypeError:无法读取未定义的属性“filter”,javascript,angularjs,Javascript,Angularjs,我的自定义筛选器给了我一个错误 未捕获的TypeError:无法读取未定义的属性“filter” 代码: angular.module('PatientApp', []).filter('ageFilter', function() { // birthday is a date function calculateAge(birthday) { var dateOut = new Date(birthday); dateOut.setD

我的自定义筛选器给了我一个错误

未捕获的TypeError:无法读取未定义的属性“filter”

代码:

angular.module('PatientApp', []).filter('ageFilter', function() {
     // birthday is a date
     function calculateAge(birthday) { 
         var dateOut = new Date(birthday);
         dateOut.setDate(dateOut.getDate() + 1);
         var ageDifMs = Date.now() - dateOut .getTime();
         // miliseconds from epoch
         var ageDate = new Date(ageDifMs); 
         return Math.abs(ageDate.getUTCFullYear() - 1970);
     }
     return function(birthdate) { 
           return calculateAge(birthdate);
     }; 
});

这对我来说似乎很管用。没有更多的细节,很难重现错误。但是你的过滤代码似乎是正确的

angular.module('PatientApp', []).filter('ageFilter', function() {
     // birthday is a date
     function calculateAge(birthday) { 
         var dateOut = new Date(birthday);
         dateOut.setDate(dateOut.getDate() + 1);
         var ageDifMs = Date.now() - dateOut .getTime();
         // miliseconds from epoch
         var ageDate = new Date(ageDifMs); 
         return Math.abs(ageDate.getUTCFullYear() - 1970);
     }
     return function(birthdate) { 
           return calculateAge(birthdate);
     }; 
})
.controller('mainCtrl', function($scope, $filter){
  var ageFilter = $filter('ageFilter');
  $scope.age = ageFilter('12/25/1995');
});

你的问题是什么?错误是否不清楚?