8
votes

JS angulaires: classe "active" sur les éléments de menu créés par un contrôleur

J'utilise un service JSON pour répertorier les éléments de menu (Liens). Lorsque vous naviguez sur les différents itinéraires / pages, je veux une classe "active" ajoutée au lien actuellement actif (c'est-à-dire que l'utilisateur est activé).

J'ai utilisé ce jsfiddle comme point de départ: http://jsfiddle.net/p3zmr/4/ p>

J'ai aussi trouvé Plusieurs réponses ici sur Stackoverflow, mais toutes sont similaires à la solution ci-dessus. P>

Mais, cette solution ne fonctionne pas si les liens sont générés via NG-REPEAT: P>

  <ul class="main-menu">
    <li ng-repeat="page in pages">
      <a href="/#/{{page.id}}" active-link="active">{{page.name}}</a>
    </li>
  </ul>


4 Réponses :


0
votes

La classe NG a été faite pour cela. Consultez les commentaires sur la page Documents angulaires pour NG-Class comme il n'est pas bien documenté.


0 commentaires


2
votes

En tant qu'auteur de votre point de départ, j'ai mis à jour le violon, il devrait donc fonctionner maintenant pour vos URL dynamiques :). xxx

http://jsfiddle.net/p3zmr/59/

Le problème est que la directive lit l'attribut href, avant qu'il ne soit interpolé. Je viens de le changer d'une manière, que le HREF sera lu, après son interpolation.


0 commentaires

1
votes

Un concept de programmation d'agrafage est la séparation des préoccupations. Personnellement, je n'aime pas garder la logique ni les comparaisons de mon point de vue. Je préférerais garder la logique d'entreprise et les comparaisons dans le JavaScript

html xxx

javascript xxx


0 commentaires