Моя текущая реализация:Угловая дублирования избежать кода при использовании `нг-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>
Приведенный выше код работает, но есть много повторения кода:
ng-if
дважды там (ng-switch
не может использоваться, так как новый элемент вводится между ними)<div ng-if="!isShow" class="inner-class-1">{{item}}</div>
повторяется дважды, просто потому, что я не хочу, чтобы элемент (<div class="inner-class"></div>
) инкапсулировал мои данные, когдаng-if
оценивает значение false.
Мне было интересно, может быть, если есть лучший способ переписать то же самое.
Вы не хотите внутреннего класса-1 элемент, который будет завернутые в другом элементе все вместе или просто не иметь родителя с классом внутреннего класса ? – Nora
Я не хочу, чтобы элемент 'inner-class-1' присутствовал, когда выражение ng-if оценивается как false. –
Я думаю, что было бы лучше реорганизовать ваш CSS, чтобы стиль и поведение, которые вы хотите переключить, можно сделать на основе существования класса «внутренний класс». Я имею в виду, что наличие оберточного div не имеет никакого значения, только сам класс должен изменить ситуацию. – ste2425