2016-08-09 2 views
0

하나의 페이지에서 작동하지만 다음과 같은 오류를 다른 개체 (같은 개체 사용)에서 발생시키는 아래 필터가 있습니다 (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:[email protected]://localhost/ef-serial-numbers/public/assets/global/plugins/angularjs 

job.job_date을 하드 코드 된 날짜로 변경하면 오류가 사라집니다. 문제는 필터가 실제로 오류에 관계없이 올바르게 작동하고 있다는 것입니다.

+1

'.replace'를 호출하기 전에'text'가 정의되지 않았는지 확인하십시오. – MMhunter

+0

@MMHunter의 의견은 해결책이라고 생각합니다. 이 동작에 대한 이유는'job.job_date'가'undefined'를 시작했으나 곧 값을 얻는다는 것입니다. 첫 번째 다이제스트는 예외를 throw하고 두 번째 다이제스트는 올바른 값을 표시하며 필터는 분명히 "작동"합니다. –

+0

@Lock with pleasure xD. – MMhunter

답변

2

.replace을 호출하기 전에 text이 정의되지 않았는지 확인하십시오.

필터 기능은 job.job_date이 그 값을 갖기 전에 호출 될 수 있습니다.

+0

답변을 게시 해 주셔서 감사합니다. –

관련 문제