2013-06-11 16 views
7

Şu anda, her bir sekmede gezinme menümdeki kodumu yineliyorum, ancak kısmi kod kullanmak istiyorum, böylece çoğaltılmış kod yok.Gezinme menü öğesi Kısmen Gidişler bölümünde etkin kılın Kısmi

Bu, dosyaya bağlı olarak farklı bir liste öğesindeki active sınıfı ile (aşağıda) kullanıyorum. Bunun yerine, bir kısmi {{> fruits-nav}} kullanmak istiyorum, ancak hangi dosyanın kısmi dahil olduğuna bağlı olarak active sınıfını nasıl ayarlayacağım hakkında hiçbir bilgi bulamıyorum.

<div id="table-nav-tabs"> 
    <ul class="nav nav-tabs"> 
     <li class="apple"><a href="{{id}}">apple</a></li> 
     <li class="active orange"><a href="{{id}}">orange</a></li> 
     <li class="mango"><a href="{{id}}">mango</a></li> 
     <li class="pineapple"><a href="{{id}}">pineapple</a></li> 
    </ul> 
</div> 

cevap

5

sen bunu yapabilirsiniz böylece kısmi veri iletmek edebilirsiniz kısmi:

{{> fruits-nav active}} 

ve sadece emin active olun: daha sonra

<div id="table-nav-tabs"> 
    <ul class="nav nav-tabs"> 
     <li class="{{#if active_apple}}active{{/if}} apple"><a href="{{id}}">apple</a></li> 
     <li class="{{#if active_orange}}active{{/if}} orange"><a href="{{id}}">orange</a></li> 
     <li class="{{#if active_mango}}active{{/if}} mango"><a href="{{id}}">mango</a></li> 
     <li class="{{#if active_pineapple}}active{{/if}} pineapple"><a href="{{id}}">pineapple</a></li> 
    </ul> 
</div> 

ve şu şekilde çekmek Mevcut meyve için uygun bayrağı ayarladı.

Demo: render ederken

<div id="table-nav-tabs"> 
    <ul class="nav nav-tabs"> 
     <li class="{{#if active.apple}}active{{/if}} apple"><a href="{{id}}">apple</a></li> 
     <li class="{{#if active.orange}}active{{/if}} orange"><a href="{{id}}">orange</a></li> 
     <li class="{{#if active.mango}}active{{/if}} mango"><a href="{{id}}">mango</a></li> 
     <li class="{{#if active.pineapple}}active{{/if}} pineapple"><a href="{{id}}">pineapple</a></li> 
    </ul> 
</div> 

ve: http://jsfiddle.net/ambiguous/GesND/

+0

Teşekkür, iyi görünüyor. Sadece bir soru: bayrağı kısmi olarak çeken dosya şablonunda ayarlayabilir miyim? Kesinlikle gerekli olmadıkça JS ucuna daha fazla karmaşıklık katmak istemiyorum. – theintellects

+0

Sanırım kısmi ve sonra da {{fruits_nav "ananas"}} 'da sarmak için kendi yardımcınızı yazabilirsiniz. Şablonlar içindeki verilerin işlenmesi için gidonlar gerçekten ayarlanmamıştır, bu tür şeylerin şablonun dışında yapılması gerekir. –

+0

Eh, şablonlarda verileri işlemek zorunda değilim. Birden çok dosyam var: elma, portakal, mango, ananas. Elma şablonunun içinde {{> fruits-nav active = apple}} gibi bir şey yapmanın ve mango şablonu, vb. Yerine {{> fruits-nav active = mango}} gibi bir yol var mı? – theintellects

5

ben bile biraz daha basit ve daha okunabilir hale düşünüyorum

active: { pineapple: true } 
+0

JQuery + css + node ile bu işi halletmek için uğraşıyorum ... basit çözüm için teşekkürler. – codeinprogress

İlgili konular