2014-04-26 6 views
0

나는 json 객체 (100 개 이상 항목)가 복잡하고 일부 값에 대해 ngRepeat 지시어를 사용하고 하나의 값만 표시해야합니다.각도 ngRepeat 객체 깊이, 성능

한편 복잡한 객체

$scope.complicatedList = [ 
    { 
    "id": 1, 
    "value": [ 
     { 
     "data": { 
      "otherdata": "sss" 
     } 
     } 
    ] 
    }, 
    .... 
]; 

나는 새로운 객체를 생성 복잡 하나에서 발생하는 복잡한 객체의

짧은 버전 (예 : 밑줄로) 만든 새로운 놀이 생각

$scope.shortVersionList = [ 
     {id: 1, "otherdata": "sss1"}, 
     {id: 2, "otherdata": "sss2"}, 
     {id: 3, "otherdata": "sss3"}, 
     ... 
     {id: 100, "otherdata": "sss3"} 
    ]; 

나는 이해하려고 노력한다. 구현하기 위해 efore : 어떤 성능 차이가 있어야합니까?

iOS/Android (Cordova + Ionic)에서 실행되는 각도를 사용하고 서비스의 두 가지 버전 (실제 및 짧은 버전)을 저장하거나 하나의 객체 만 저장하고 재생하는 좋은 방법이 있는지 모르겠습니다. HTML 만.

감사합니다,

답변

1

렌더링 속도를 느리게하는 것처럼, 대신 HTML 렌더링 단계에서 필터링의 짧은 객체를 반환 별도의 서비스/방법이 더 좋을 것입니다. 표준 하드웨어의 일반 브라우저에서 차이는 무시할 수 있지만 귀하의 경우 iOS/Android 장치를 사용하는 경우 별개의 개체를 사용하는 것이 좋습니다.

편집 :

참고하지만, 그 성능은 현명한 사이에 측정 가능한 차이가있을 수없는 것 :

<div data-ng-repeat="complicatedItem in complicatedList"> 
    {{complicatedItem.nested.moreNested.evenMoreNested.someValue}} 
</div> 

<div data-ng-repeat="simpleItem in simpleItemList"> 
    {{simpleItem.someValue}} 
</div> 

대 내가 당신이 조언을하려고했다 ng-repeats에 로직이 없거나 추가 ng-repeats를 추가하지 마십시오. 이것이 사실이 아니며 추가 ng 반복을 추가하지 않고 데이터를 제시 할 수 있다면, 내가 보여준 첫 번째 변형과 두 번째 변형 모두 동일한 성능을 보입니다. 두 번째 방법은 약간의 가독성이 있지만 두 가지 서비스 방법을 유지 관리해야하는 비용이 듭니다.