パスが一致したときにクラスを取得および削除するリンクがあり、完璧に機能します。これらのリンクのいずれもパスを持たないため、どのようにしてクラスを削除できますかlink1 link2をクリックした後の上記の? link2 "who have no path"にクラスを挿入することができましたので、今すぐリンクをクリックしてlink1のクラスを削除します。ng-clickを使用してAngularJsクラスを削除する
ありがとうございます。
HTML
<div class="sidebar-nav">
<ul>
<li ng-class="{'current':getLocation('/url/test')}">
<a href="#/url/test">link 1
<i class="pull-right fa fa-calendar-plus-o" aria-hidden="true"></i>
</a>
</li>
<li ng-click="current=!current" ng-class="{'current': current}" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
<a>link 2
<i class="pull-right fa fa-circle" aria-hidden="true"></i></span></a>
<div class="collapse collapse-styled" id="collapseExample">
<a href="#">sublink 1
<i class="pull-right fa fa-calendar" aria-hidden="true"></i>
</a>
<a href="#">sublink 2
<i class="pull-right fa fa-list" aria-hidden="true"></i>
</a>
</div>
</li>
</ul>
</div>
角度:
angular.module('components').controller('sidebarController', [
'$location',
'$scope',
'jquery',
function($location, $scope, $) {
'use strict';
$scope.getLocation = function(path) {
var Search = new RegExp('^' + path, '');
return !!Search.exec($location.path());
};
}
]);
私はこの前の質問はあなたに役立つかもしれないと思います。http://stackoverflow.com/questions/20460369/adding-and-removing-classes-in-angularjs-using-ng-click – Leticia
ありがとうございました。私は2回クリックするとクラスが適用されます:(これはng-click = "満足=" VeryHappy "" ng-class = "{アクティブ:満足== 'VeryHappy'}」 – Raduken