나는 자바 스크립트에서 사용자 정의 필터를 호출하기 위해 스팬 (span)을 사용하는 d 각형 앱을 보유하고 있습니다. 이 필터는 잘 작동하고 원하는 결과를 얻을 수있다기능 후에도 각도 필터 이상한 오류가 발생합니다.
app.filter('sumCompletedCredits', function() {
return function (mpttdetails) {
var sum = 0;
mpttdetails.forEach(function (detail) {
sum += detail.student_academic_credit.credit;
});
return sum;
};
});
:
<span class="badge badge-success" ng-bind="mpttdetails | filter:{category.id:{{node.id}}} | sumCompletedCredits"></span>
이 내가 내 필터를 정의하는 방법입니다 : 이것은 내 HTML 범위이다. 내가 콘솔을 검사 할 때 다음과 같이 그러나 그것은 나에게 오류를 던지고있다 :
TypeError: Cannot call method 'forEach' of undefined
at Scope.<anonymous> (http://127.0.0.1:8000/static/js/app.js:116:23)
at fnInvoke (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:10011:21)
at OPERATORS.| (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:9526:59)
at extend.constant (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:9956:14)
at Scope.$eval (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:11949:28)
at Object.watchExpression (<anonymous>:763:37)
at Scope.$digest (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:11794:40)
at Scope.$delegate.__proto__.$digest (<anonymous>:844:31)
at Scope.$apply (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:12055:24)
at Scope.$delegate.__proto__.$apply (<anonymous>:855:30) angular.js:9413
(anonymous function) angular.js:9413
(anonymous function) angular.js:6832
Scope.$digest angular.js:11821
$delegate.__proto__.$digest VM1409:844
Scope.$apply angular.js:12055
$delegate.__proto__.$apply VM1409:855
done angular.js:7837
completeRequest angular.js:8020
xhr.onreadystatechange
편집 : 무슨 일 수도
app.controller('mycontroller', function(MpttService, $scope, $modal, $log, $http) {
MpttService.getMptt(function(data){
$scope.mpttdetails = data;
console.log(data);
});
:
이 내가 서비스에서 내 mpttdetails을 얻는 방법이다 ?
mpttdetails가 항상 채워지지 않을 수도 있습니다. –
mpttdetails를 설정할 컨트롤러 부분을 게시하십시오. – bekite
안녕하세요, mpttdetails json을 추가했는데 서비스에서 가져 왔습니다. – Abhishek