В моем коде есть два параметра списка. Ежемесячно и ежеквартально у меня есть один класс "активный", который обычно выделяет элемент.
Мне нужно, чтобы класс "active" должен быть применен к одному из вариантов при нажатии или выборе. Здесь class= active применяется только ежемесячно вручную. Ищите Угловое решение для этого.
<div class="list">
<p class="subheader secondary">Select Preferred View</p>
<ul class="tabs">
<li><a href="#monthly" ng-click="type='month'" data-ajax="false" **class=active**>Monthly</a></li>
<li><a href="#quarterly" ng-click="type='quarter'" data-ajax="false">Quarterly</a></li>
</ul>
</div>
Используйте директиву ng-class, как в приведенном ниже коде.
<div class="list">
<p class="subheader secondary">Select Preferred View</p>
<ul class="tabs">
<li><a href="#monthly" ng-click="type='month'" ng-class="{'active' : type=='month'}" data-ajax="false" **class=active**>Monthly</a></li>
<li><a href="#quarterly" ng-click="type='quarter'" ng-class="{'active' : type=='quarter'}" data-ajax="false">Quarterly</a></li>
</ul>
</div>
Он добавляет заданный класс, когда выражение, указанное после того, как classname принимает значение true, удаляет его, когда оно вычисляется как false.
ng-class="{'classname' : expression}"
Вы можете установить значение по умолчанию в контроллере:
$scope.type = 'month';
или с помощью директивы ng-init на div:
<div class="list" ng-init="type='month'">