2016-09-13 3 views
1

작동하지 않습니다 내가 각도 채우기 내 HTML에이 코드 조각이 :NG-경우 내부 NG-반복

<table id="myTable"> 
    <tr> 
     <th>Id</th> 
     <th>desc</th> 
     <th>prod kg</th> 
     <th>index</th> 
    </tr> 
     <tr ng-repeat="x in maq" ng-if="{{ x.index }}=='0'" id="{{ x.index }}">     
       <td style="border: 1px solid black;">{{ x.codigo }}</td> 
       <td style="border: 1px solid black;">{{ x.desc }}</td> 
       <td style="border: 1px solid black;">{{ x.prod_24_h_kg }}</td> 
       <td style="border: 1px solid black;">{{ x.index }}</td> 
    </tr> 
</table> 

지금까지 여기에 문제 없음을. 그러나 나는 할 및 NG-경우 각 행에 대한 것은 당신이 볼 수있는, 그리고의 말을하자 싶어 : ==

{{x.index}} '0'내가 원하지 않는

그 줄이 나타납니다. 저는 ""와 " '의 많은 조합을 성공으로 만들지 않으려 고 시도했습니다. 누구나 솔루션을 볼 수 있습니까?

+0

ng-repeat 전에 실행하고 ... "x"가 정의되지 않은 경우 인쇄 ... 및 전체 tr 제거됩니다. 논리를 향상시켜야합니다 –

+0

[각도 JS에서 이중 및 단일 중괄호 차이점?] (http://stackoverflow.com/questions/17878560/difference-between-double-and-single-curly-brace- in-angular-js) – deceze

답변

4

{{}} 지시어 내부에 ng-if 지시어를 사용할 필요가 없으므로 현재 범위와 비교하여 평가할 표현식을 직접 가져옵니다.

ng-if="x.index ==0" 

오히려 같은 일을 달성하기 위해 또 다른 옵션은 사용 필터 될 것이다.

ng-repeat="x in maq | filter: {index: 0} as filterdMaq" 

성능을 개선하는 데 도움이되는 동일한 필터링 문제가 컨트롤러 내부에서 발생할 수 있습니다.

$http.get('data.json').then(function(response){ 
    $scope.dataCopy = response.data; //this is original copy of an maq. 
    //filtered maq 
    $scope.maq = $filter('filter')(angular.copy($scope.dataCopy), { index: 0}, true); 
}); 
+0

당신은 100 % 정확합니다, 고마워요. – xxxxxxxxxxxxx

+0

예, 컨트롤러에서는 아직 필터링 할 내용을 알지 못합니다. 이 모든 정보는 json에서 가져옵니다. 그런 다음 ionic-slider를 사용하여 사용자는 일부 이미지를 이동하고 그 이미지의 $ INDEX를 기반으로 행의 ng-if로 필터링합니다. 나는 이것이 최선의 해결책이라고 생각했다. 그러나 당신이 말하는 방식이 더 낫다면 나는 교정 할 것입니다. 다시 한번 감사드립니다. – xxxxxxxxxxxxx

+1

인덱스 값이 변경되면 슬라이더 변경 이벤트에 대해서도 필터링을 수행해야합니다. –

1

{{}}을 (를) 사용할 필요는 없습니다. 그냥 x.index == '0'

+0

귀하의 답변도 정확합니다. 고맙습니다. – xxxxxxxxxxxxx