¿Cómo usar los comentarios en las plantillas de manillar?


134

Estoy usando Handlebar.js como mi motor de plantillas. Ahora quiero comentar algunos de los bloques en mis plantillas de manillar. Pero luego me di cuenta de que Handlebar no ignora las expresiones dentro del bloque de comentarios Handlebar. ¿Alguna solución para esto?



Admite comentarios multilínea, pero no ignora las expresiones que contiene.
Abhidev

Respuestas:


201

La versión más reciente de Handlebars tiene soporte para comentarios de bloque:

{{!-- {{commented expressions}} --}}

https://github.com/wycats/handlebars.js/commit/a927a9b0adc39660f0794b9b210c9db2f7ddecd9


8
Gracias jptsetung. No funciona completamente como espero un comentario, pero supongo que funciona para el propósito previsto. Revisando este tutorial para ver cómo funciona el manillar detrás de escena. net.tutsplus.com/tutorials/javascript-ajax/… . Parece que el manillar no ignora por completo una línea comentada porque todavía está creando un token. La ficha está vacía. Por ejemplo, "{{! - Hola {{name}} -}}" crea 1 token vacío. Solo pensé que vale la pena mencionar si alguna vez causa problemas a alguien. No sé si lo haría, ya que está detrás de escena.
isimmons

51

Simplemente agregue un signo de exclamación después de los corchetes de apertura.

Expresión normal:

{{expressions}}

Expresión comentada:

{{!expressions}}

25
Tenga en cuenta que la diferencia entre {{!y los {{!--formularios es que solo este último permite etiquetas de manillar incrustadas. Como será fácil de olvidar, especialmente en un comentario largo que luego se revisa, sugeriría usar siempre el formulario de comentarios más largo.
Darren Cook

31

Úselo de esta manera en su archivo de plantilla de manillar.

<div class="entry">
  {{!-- only output author name if an author exists --}}
  {{#if author}}
    <h1>{{author.firstName}} {{author.lastName}}</h1>
  {{/if}}
</div>

Los comentarios no estarán en la salida resultante. Si desea que aparezcan los comentarios, utilice los comentarios HTML.

<div class="entry">
  {{! This comment will not be in the output }}
  <!-- This comment will be in the output -->
</div>

consulte este enlace a


-4

Usa este código:

{{#data}}
<!-- enter comments here  -->
<p>{{name}}</p>
{{/data}}  
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.