Estoy tratando de entender el concepto detrás de templos sin lógica, pero me estoy encontrando golpeando una pared.Cómo hacer una barra de navegación en un motor de plantilla sin lógica como bigote
Quiero implementar una barra de navegación simple, p. Los enlaces "Inicio, Acerca de, Contacto" en la parte superior de cada página, y el "actual" deben resaltarse con una clase diferente (estoy usando el programa de arranque). Pero, ¿cómo puedo hacer esto de manera sensata? Hasta ahora tengo:
- Mueva el navegador a cada plantilla, y copie todo (no SECO, feo).
- Use las teclas en lugar de valores, es decir, con
<a href="/" {{#on_home_page}}class="active"{{/on_home_page}}>Home</a>
. Esto es mejor, pero sigue siendo molesto que tengo que crear N variables para mantener el valor de datos de 1 variable. - crear la navegación en el controlador, es decir, pase en
{ 'Home': {link: '/', active: false}, 'About: {link: '/about', active: true} }
o similar. No me gusta esto porque tiene el problema opuesto de las plantillas sin lógica. Ahora tengo controladores HTML-ful ...
Dadas las opciones anteriores, me gustan (2) las mejores. Pero lo que yo preferiría alguna manera de tener una sola variable para comprobar, como:
// controller
render('about', {active: 'about'});
render('home', {active: 'home'});
// mustache nav
<a href="/" {{#if active == 'home'}}class="active"{{/if}}>Home</a>
<a href="/about" {{#if active == 'about'}}class="active"{{/if}}>About</a>
Estoy seguro que esto viene todo el momento de que los expertos bigote --- ¿cuál es la mejor manera de hacer frente a ¿eso?
Me encontré con esto y noté que la función simplemente no devolverá el parámetro. De hecho, necesita proporcionar una devolución de llamada que proporcione el parámetro. Lazy fiddle: http://jsfiddle.net/dN4Z8/ – danwit
En realidad debería ser '{{#selected_item}} home {{/ selected_item}}', pero lamentablemente no pude encontrar otros 4 personajes para hacer la actualización al publicación original ... ah bien. ¡Buen trabajo! – BigBlueHat