6

Próbuję użyć ng-if in ng-repeat do implementacji Accordions. W oparciu o wartość warunku, powtórzenie ng powinno pominąć niektóre elementy w powtórzeniu ng.Chcę pominąć element w powtórzeniu ng przy użyciu ng-if

E.g. Jeśli item.condition jest prawdziwy, to tylko powinien wyświetlać akordeon. Poniższy kod jest tym, co do tej pory miałem i nie działa. Czy to wygląda dobrze?

 <accordion close-others="true"> 
      <accordion-group is-open="isopen" ng-repeat="item in items | limitTo:2" ng-if="item.condition == "true"",ng-init="isopen=2"> 
        <accordion-heading> 
      {{item.label}} 
      <i class="pull-right glyphicon" 
         ng-class="{'icon-arrow-up': isopen, 'icon-arrow-down': !isopen}"></i> 
        </accordion-heading> 
       </accordion-group> 
      </accordion> 
+0

Próbowałaś i nie działa? Jakie są wyniki ... jakikolwiek błąd? – Nirmal

+0

błąd wynikał z "true" w ng-if = "item.condition ==" true "". Powinienem być tylko prawdziwy. Dzięki :-) – mahi244

+6

@ user3320018 Nie! Nie! Nie! Jeśli to nie działa, nie ma tematu recenzji kodu! – Mast

Odpowiedz

5

Twój ng-if zawierać podwójne dodatkowe cytaty należy ng-if="item.condition == true", również usunąć , od elementu akordeon

Również można zminimalizować warunek ng-if="item.condition" więc wtedy wyrażenie powróci true i false na item.condition zmiennej ocena.

Markup

<accordion close-others="true"> 
    <accordion-group is-open="isopen" ng-repeat="item in items | limitTo:2" 
     ng-if="item.condition" ng-init="isopen=2"> 
     <accordion-heading> 
      {{item.label}} 
      <i class="pull-right glyphicon" ng-class="{'icon-arrow-up': isopen, 'icon-arrow-down': !isopen}"></i> 
     </accordion-heading> 
    </accordion-group> 
</accordion> 
+2

Mam to, było to z powodu dodatkowego "" w ng-if = "item.amenity ==" false "". Dzięki :-) – mahi244

+0

Mam jedno pytanie, zamiast wartości zakodowanej na true dla false w ng-if. Po prostu chcę przekazać zmienną, która zawiera wartość true dla false, np: check = "true lub false". -if "item.condition == check" .To nie działa w ten sposób, czy jest jakiś sposób? – mahi244

+0

sure..'ng-if' potrzebuje tylko wyrażenie, które powinno zwrócić true lub false przy jego ocenie. moja zaktualizowana odpowiedź ... –

Powiązane problemy