2016-11-05 3 views
2

을 적용 $ 사용하지 않고 이미 진행 중 적용 나는 다음과 같은 자바 스크립트 코드가 있습니다 위의 클릭 이벤트를 다음과 같은 오류가있다 던지고있다

$scope.fav_details = function(id1,id2,bio) { 
    document.getElementById(id2).style.display="none"; 
    document.getElementById(id1).style.display="block"; 
    $scope.getLegislatorDetails(bio); 
    document.getElementById(bio).click(); 
} 

라인을. 내가 이해하지 못하는 것은이 코드를 여전히 어디에서나 적용 할 수 있다는 것입니다. 누군가 나를 도울 수 있습니까? 위의 코드에서 getLegislatorDetails 함수는 API 호출을 가지며 범위 변수에 데이터를 저장합니다. 나는 다음과 같은 각도 JS 오류가 있습니다

angular.js:13642 Error: [$rootScope:inprog] http://errors.angularjs.org/1.5.6/$rootScope/inprog?p0=%24apply 
    at Error (native) 
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:6:412 
    at n (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:137:381) 
    at m.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:145:312) 
    at HTMLButtonElement.<anonymous> (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:274:247) 
    at HTMLButtonElement.dispatch (http://localhost/congress/js/jquery-3.1.1.min.js:3:10315) 
    at HTMLButtonElement.q.handle (http://localhost/congress/js/jquery-3.1.1.min.js:3:8342) 
    at m.$scope.fav_details (http://localhost/congress/scripts.js:938:38) 
    at fn (eval at compile (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:231:126), <anonymous>:4:436) 
    at b (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:126:19)(anonymous function) @ angular.js:13642 
angular.js:13642 Error: [$rootScope:inprog] http://errors.angularjs.org/1.5.6/$rootScope/inprog?p0=%24apply 
    at Error (native) 
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:6:412 
    at n (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:137:381) 
    at m.$digest (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:142:30) 
    at m.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:145:401) 
    at HTMLButtonElement.<anonymous> (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:274:247) 
    at HTMLButtonElement.dispatch (http://localhost/congress/js/jquery-3.1.1.min.js:3:10315) 
    at HTMLButtonElement.q.handle (http://localhost/congress/js/jquery-3.1.1.min.js:3:8342) 
    at m.$scope.fav_details (http://localhost/congress/scripts.js:938:38) 
    at fn (eval at compile (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:231:126), <anonymous>:4:436)(anonymous function) @ angular.js:13642 

getLegislatorDetails의 기능은 다음 링크에서 찾을 수 있습니다 : - 혹시 바이오

ng-click=getLegislatorDetails 

를 부착

https://github.com/anirbanmishra/congress.php/blob/master/getLegislatorDetails

+0

이 코드는 컨트롤러 내에 있다고 가정합니다. 컨트롤러 내에서 DOM 조작을해서는 안됩니다. '$ scope.lgetLegislatorDetails' 코드를 보여줄 수 있습니까? –

+0

예 위의 코드는 컨트롤러 안에 있으며 getLegislatorDetails 함수는 다음에서 찾을 수 있습니다. - https://github.com/anirbanmishra/congress.php/blob/master/getLegislatorDetails – Anirban

+0

@NexusDuck 어떤 단서 ?? – Anirban

답변

0

을 요소

다음 commen 아래 코드에서 임의의 줄을 선택하십시오.

$scope.getLegislatorDetails(bio); 
     document.getElementById(bio).click();