Cyril N. Cyril N. - 2 months ago 7
Javascript Question

Handlebars, avoid compiling (ignore) part of a template?

Is there a way to tell the Handlebar compiler to ignore a block of template.

I know there is the

\
solution, like :

\{{ is.ignored}}


but is there something that would do the same, but for a complete block, like :

<script type="text/x-handlebars-template" id="my-template">
<ul>
{{#each items}}
<li><a href="{{url}}" title="{{title}}">{{display}}</a></li>
{{/each}}
</ul>
</script>


I believe it would be better (and far more readable) to have something like
{{#ignore}}{{/ignore}}
instead of adding
\
everywhere.

I tried to find something using block helpers, either building something myself, but I can't get my hand on the non-compiled version of what's inside the block.

Answer

Yes I finally found it, it's called ... raw ! :

{% raw %}
<script type="text/x-handlebars-template" id="my-template">
    <ul>
        {{#each items}}
            <li><a href="{{url}}" title="{{title}}">{{display}}</a></li>
        {{/each}}
    </ul>
</script>
{% endraw %}

Update : After an update of Handlebars, this snipped seems to not work now. I opened a ticket to see how to make it works.

Comments