각도 1.4를 사용하고 있습니다. 일반적으로 ng-repeat는 표와 같은 항목에 대해 많은 수의 행을 렌더링 할 때 성능 문제가 발생할 수 있음을 알고 있습니다. 그러나 ng-repeat 또는 일부 대체 반복을 사용하여 테이블에 대한 데이터 배열을 렌더링하는 최적의 방법이 있는지 궁금합니다.성능을 위해 바인딩되지 않은 테이블 행 렌더링
보고서 용 데이터를 출력하기 때문에 바인딩이 필요하지 않습니다. 일회성 바인딩과 같은 몇 가지 제안을 시도했지만, 여전히 좋은 시간이 걸립니다 (1000 레코드 정도의 경우 10 초 이상). 제가 시도한 다른 비 앵귤러 메서드는 HTML을 백엔드에서 미리 렌더링 한 다음 데이터 배열 대신 HTML을 반환합니다. 그리고 HTML에 요소를 추가 한 사용자 지정 지시문이 있습니다. 이것은 심지어 2000 행에 대해서도 1 초도되지 않았습니다 (분명히 Angular를 사용하지 않았기 때문에 분명합니다).
하지만 Angular에서 동일한 작업을 수행 할 수 있으면 좋을 수도 있고 각도 측 컨트롤러에서 비슷한 작업을 수행해도 좋을 것입니다. 모든 입력을 부탁드립니다. 당신은 중계기의 각 항목에 ::
구문을 추가해야
<ul ng-repeat="item in ::items">
<li>{{ ::item.name }}</li>
</ul>
참고 :
왜 1000 개의 행을 렌더링해야하는지 궁금합니다. – ChiefTwoPencils
일반적으로 페이지 매기기를 사용하지만 사용자는 한 번에 모든 데이터를 보거나 원하는 레코드를 찾기 위해 Ctrl + F를 원합니다. 비즈니스 요구 사항이 더 많습니다. 너무 일반적이지는 않지만 실행되는 보고서는 날짜 범위를 기반으로하므로 큰 시간 프레임을 선택하면 레코드 수가 커질 수 있습니다. – kenshin9
그것은 그 때 그것이 무엇인지 추측합니다. 나는 [ng-repeat을 간과하게 사용] (http://stackoverflow.com/documentation/angularjs/1921/profiling-and-performance/6270/7-simple-performance-improvements#t=201702202044026701)에 "other 접근법 "을 사용합니다. 진실은 그들 모두가 그들을 볼 수 없다는 것입니다, 당신은 단지 그들이 할 수있는 인식과 당신이 언급 한 다른 기능을 여전히 얻을 수 있다는 인식을 주어야합니다. – ChiefTwoPencils