ブートストラップにアイテムを含むナビゲーションバーがある場合
Home | About | Contact
各メニュー項目がアクティブなときにアクティブクラスを設定するにはどうすればいいですか?つまり、class="active"
角度ルートが
#/
家庭用#/about
このページについて#/contact
お問い合わせページ
ベストアンサー1
非常にエレガントな方法は、ng-controller を使用して ng-view の外部で単一のコントローラーを実行することです。
<div class="collapse navbar-collapse" ng-controller="HeaderController">
<ul class="nav navbar-nav">
<li ng-class="{ active: isActive('/')}"><a href="/">Home</a></li>
<li ng-class="{ active: isActive('/dogs')}"><a href="/dogs">Dogs</a></li>
<li ng-class="{ active: isActive('/cats')}"><a href="/cats">Cats</a></li>
</ul>
</div>
<div ng-view></div>
controllers.js に含めます:
function HeaderController($scope, $location)
{
$scope.isActive = function (viewLocation) {
return viewLocation === $location.path();
};
}