Jak używać komentarzy w szablonach na kierownicę?


134

Używam Handlebar.js jako mojego silnika szablonów. Teraz chcę skomentować niektóre bloki w moich szablonach kierownicy. Ale potem zdałem sobie sprawę, że Handlebar nie ignoruje wyrażeń wewnątrz bloku komentarza Handlebar. Jakieś obejście tego problemu?



Obsługuje komentarze wielowierszowe, ale nie ignoruje wyrażeń w nim zawartych.
Abhidev

Odpowiedzi:


201

Najnowsza wersja Handlebars obsługuje komentarze blokowe:

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

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


8
Dzięki jptsetung. Nie działa w pełni tak, jak oczekuję komentarza, ale myślę, że działa zgodnie z przeznaczeniem. Przejrzyj ten samouczek, aby zobaczyć, jak kierownica działa za kulisami. net.tutsplus.com/tutorials/javascript-ajax/… . Wygląda na to, że kierownica nie w pełni ignoruje skomentowaną linię, ponieważ nadal tworzy token. Token jest po prostu pusty. Na przykład „{{! - Hello {{name}} -}}” tworzy 1 pusty token. Pomyślałem, że warto o tym wspomnieć, jeśli kiedykolwiek spowoduje to dla kogokolwiek problemy. Nie wiem, czy tak by się stało, ponieważ jest za kulisami.
isimmons

51

Po prostu dodaj wykrzyknik po nawiasach otwierających.

Normalne wyrażenie:

{{expressions}}

Skomentowane wyrażenie:

{{!expressions}}

25
Zwróć uwagę, że różnica między formularzami {{!i {{!--polega na tym, że tylko ta ostatnia umożliwia osadzenie znaczników na kierownicy. Ponieważ łatwo będzie o tym zapomnieć, zwłaszcza w długim komentarzu, który jest później poprawiany, sugerowałbym zawsze używać dłuższego formularza komentarza.
Darren Cook

31

Użyj tego w pliku szablonu kierownicy.

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

Komentarze nie pojawią się w wynikowym wyniku. Jeśli chcesz, aby komentarze były widoczne, użyj komentarzy HTML.

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

skieruj ten link do


-4

Użyj tego kodu:

{{#data}}
<!-- enter comments here  -->
<p>{{name}}</p>
{{/data}}  
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.