Moja obecna implementacja:kątowe kod uniknąć powielania przy użyciu `NG-if`
<div class="outer-class" ng-repeat="item in items">
<div class="inner-class" ng-if="isShow">
<div class="inner-class-1">{{item}}</div>
</div>
<div ng-if="!isShow" class="inner-class-1">{{item}}</div>
</div>
Powyższy kod działa, ale jest dużo kodu powtórzenia:
ng-if
jest tam dwa razy (ng-switch
nie może być używany od momentu wprowadzenia nowego elementu)<div ng-if="!isShow" class="inner-class-1">{{item}}</div>
Powtarza się dwa razy, tylko dlatego, że nie chcę, aby element (<div class="inner-class"></div>
) hermetyzował moje dane, gdyng-if
jest wartością false.
Zastanawiałem się, czy nie jest lepszy sposób na ponowne napisanie tego samego.
Nie chcesz element wewnętrzny klasy-1 mają być zapakowane w innym elementem wszystkich razem lub po prostu nie mają rodzica z klasy wewnętrznej klasy ? – Nora
Nie chcę, aby element 'inner-class-1' był obecny, gdy moje wyrażenie ng-if jest fałszywe. –
Myślę, że byłoby lepiej, aby zmienić swój styl CSS, aby styl i zachowanie, które chcesz przełączać, można było zrobić w oparciu o istnienie klasy "wewnętrznej klasy". Chodzi mi o to, że obecność owijającego diva wcale nie robi różnicy, tylko sama klasa powinna zmieniać rzeczy. – ste2425