2017-04-06 2 views
0

J'ai une barre de menu latérale, où j'ai utilisé ng-repeat pour afficher les éléments de la liste.Rendre l'élément de menu actif onclick dans angularjs

<div class="list-group" style="height:50px"> 
<span href="#" class="list-group-item active"> 
      Inbox 
     </span> 
     <div ng-repeat="record in inboxlist.Result"> 
      <a class='list-group-item' ng-click="viewDates($index);">{{record.customer_name}}</a> 
     </div> 
    </div> 

Je veux souligner le point sur click.I suis débutant quelqu'un pourrait me guider sur la façon de ce effect.thanks achive à l'avance.

Répondre

2

Ajouter ngClass comme,

ng-class="{selected: $index === selectedIndex}" 

Votre HTML

<a class='list-group-item' ng-click="viewDates($index);" ng-class="{selected: $index === selectedIndex}">{{record.customer_name}}</a> 

et votre fonction viewDates devrait être comme

$scope.selectedIndex = null; 
$scope.viewDates = function ($index) { 
    $scope.selectedIndex = $index; 
    //.... your remaining code here 
}; 
+0

utilisation 'la place active' classe de' selected' comme par OP –

+0

Je ne pense pas, il n'a pas mentionné le nom de classe (il a juste dit ** Je veux souligner l'article sur clic **) et vous êtes libre de choisir le nom de la classe. Alors pourquoi seulement "actif"? –

1

vous pouvez utiliser ng-classe pour ajouter des styles dynamiquement en fonction de les conditions.

angular.module("app",[]) 
 
.controller("ctrl",function($scope){ 
 

 
$scope.inboxlist = {}; 
 
$scope.inboxlist.Result = [{"customer_name":"ss"},{"customer_name":"aa"},{"customer_name":"cc"}] 
 

 
})
.change-color{ 
 
    color : red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
<div class="list-group" style="height:50px"> 
 
<span href="#" class="list-group-item active" > 
 
      Inbox 
 
     </span> 
 
     
 
     <div ng-repeat="record in inboxlist.Result" ng-init="record.check = false"> 
 
      <a class='list-group-item' 
 
      ng-click="record.check = true;viewDates($index);" 
 
      ng-class="{'change-color':record.check}">  {{record.customer_name}} </a> 
 
     </div> 
 
     
 
    </div> 
 
</div>