2013-03-11 16 views
106

Używam Handlebar.js jako mojego silnika szablonowego. Teraz chcę skomentować niektóre bloki w moich szablonach kierownicy. Ale wtedy zdałem sobie sprawę, że kierownica nie ignoruje wyrażeń w bloku komentarza Kierownica. Jakiekolwiek obejście tego problemu?Jak używać komentarzy w szablonach kierownicy?

+0

[Żądanie przyciąganie] (https://github.com/wycats/handlebars.js/pull/65) mogą Cię zainteresować. –

+0

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

+0

Witam @Ahhidev, czy jesteście zadowoleni, że jedna z poniższych odpowiedzi jest poprawna? Jeśli tak, proszę oznaczyć go jako poprawny :) – Bill

Odpowiedz

154

Najnowsza wersja kierownicy ma blokować komentarze wsparcia:

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

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

+6

Dzięki jptsetung. Nie działa w pełni, ponieważ oczekuję komentarza, ale myślę, że działa zgodnie z jego przeznaczeniem. Przechodząc przez ten samouczek, aby zobaczyć, jak kierownica działa za kulisami. http://net.tutsplus.com/tutorials/javascript-ajax/handlebars-js-a-behind-the-scenes-look/. Wygląda na to, że kierownica nie ignoruje w pełni skomentowanej linii, ponieważ wciąż tworzy token. Token jest pusty. Na przykład "{{! - Hello {{name}} -}}" tworzy 1 pusty token. Pomyślałem, że warto o tym wspomnieć, jeśli spowoduje to problemy u każdego. Nie wiem, czy tak, ponieważ jest za kulisami. – isimmons

38

Wystarczy dodać wykrzyknik po nawiasach otwarcia.

normalnej ekspresji:

{{expressions}} 

skomentowane Expression:

{{!expressions}} 
+16

Należy zauważyć, że różnica między formami "{{!" I "{{! -" polega na tym, że tylko te ostatnie umożliwiają osadzanie tagów kierownicy. Ponieważ łatwo o tym zapomnieć, zwłaszcza w długim komentarzu, który jest później poprawiany, sugerowałbym, aby zawsze korzystać z dłuższego formularza komentarza. –

6

Wykorzystanie w ten sposób 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 będą w wynikowym wyniku. Jeśli chcesz, aby pojawiały się komentarze, użyj komentarzy HTML.

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

refer this link to

0

użyć tego kodu:

{{#data}} 
<!-- enter comments here --> 
<p>{{name}}</p> 
{{/data}} 
+0

Twój punkt jest już objęty jedną z odpowiedzi. – kumkanillam

Powiązane problemy