2016-07-03 1 views
1

im faire une webapp avec météore et je voudrais appliquer une classe d'actif dans un élément li si la valeur de celui-ci est égale à une variable d'une variable de session appelée ('mois')Définir une classe avec helpers dans meteor

<template name="Navbar">  
 
    <ul class="nav navbar-nav"> 
 
    <li class="{{active}}"><a href="#myPage">Janvier</a></li> 
 
    <li class="{{active}}"><a href="#">Février</a></li> 
 
    <li class="{{active}}"><a href="#">Mars</a></li> 
 
    <li class="{{active}}"><a href="#">Avril</a></li> 
 
    <li class="{{active}}"><a href="#">Mai</a></li> 
 
    <li class="{{active}}"><a href="#">Juin</a></li> 
 
    <li class="{{active}}"><a href="#">Juillet</a></li> 
 
    <li class="{{active}}"><a href="#">Août</a></li> 
 
    <li class="{{active}}"><a href="#">Septembre</a></li> 
 
    <li class="{{active}}"><a href="#">Octobre</a></li> 
 
    <li class="{{active}}"><a href="#">Novembre</a></li> 
 
    <li class="{{active}}"><a href="#">Décembre</a></li> 
 
    </ul> 
 
</template>

Ma variable de session me donne un mois et je voudrais une aide pour mettre la classe « active » à elle si le innerHtml est égale à la variable de session. Je ne sais pas comment récupérer la valeur de "this" innerHtml.

Template.Navbar.helpers({ 
 
    active: function() { 
 
    if(Session.get("month") === this.value) { 
 
     return "active"; 
 
     } 
 
    } 
 
});

Merci u pour l'aide.

Yoann

Répondre

0

Vous pouvez passer une variable dans votre classe d'aide et de comparer avec votre variable de session.

<template name="Navbar">  
    <ul class="nav navbar-nav"> 
    <li class="{{active 'Janvier'}}"><a href="#myPage">Janvier</a></li> 
    ... 
    </ul> 
</template> 

Dans votre modèle, vous pouvez utiliser la variable.

Template.Navbar.helpers({ 
     active: function(month) { 
     if(Session.get("month") === month) { 
      return "active"; 
      } 
     } 
    });