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.