2017-04-13 5 views
1

나는 행과 각 반복되는 행/블록 내부에 표시되는 2,000 명의 직원 데이터 이상을 반복적으로 보유하고 있으며 일부 처리를 위해 지시문에 급여 정보를 전달하는 기능이 있습니다. ng-click = "calcSalary (emp)"함수를 바인딩하고 있습니다. 이제 제 질문은 ng-click = "calcSalary (emp)"가 2000 번 생성됩니까? 백엔드에는 2000 개의 다른 참조가 저장됩니까? 2000 calcSalary() 함수가 범위에 첨부되어 생성됩니까? 실적은 어떻게됩니까? 우리는 오직 ng-click = "calcSalary (emp)"만 작성하고 클릭 한 특정 행을 기반으로 직원 데이터를 전달하는 방법이 있습니까?ng-reapeat에서 ng-click = function()은 어떻게 작동합니까? 범위 함수의 여러 참조를 만들었습니까?

+0

calcSalary가 컨트롤러에 하나 개의 기능이다. 일단 생성되어 인스턴스화되면 – Theo

+1

루프 안에서 ng-click을 클릭하면 물론 요소가 n 번 생성되고 함수 호출이 n 번 수행됩니다. 이것은 루프 내부의 모든 요소가 작동하는 방식입니다. 나는 당신이 함수를 n 번 생성한다고 생각하지 않는다. 이것은 정상적인 동작이다. 변경하려는 경우 모두 요구 사항에 따라 다릅니다. 가급적 루프 내에서 이러한 호출을 피하는 다른 방법을 찾으십시오. – CrazyMac

+0

'calcSalary'는 컨트롤러에서 한 번 정의됩니다. 전달 된 매개 변수로 해당 단추를 누를 때마다 호출됩니다. –

답변

1

아니요 성능상의 문제가 없습니다. ng-repeat를 만들지 만 n 번 생성되지만 한 번만 인스턴스화되고 클릭 할 때 영향을줍니다.

읽기 그냥 참조입니다 프런트 엔드에 그래서 Angular ng-click event delegation