把手,避免编译(忽略)模板的一部分?

时间:2014-05-12 09:19:52

标签: javascript handlebars.js

有没有办法告诉Handlebar编译器忽略模板块。

我知道有\解决方案,例如:

\{{ is.ignored}}

但是有一些东西可以做同样的事情,但对于一个完整的块,比如:

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

我相信,{{#ignore}}{{/ignore}}之类的内容会更好(而且更具可读性),而不是在任何地方添加\

我尝试使用块帮助器找到一些东西,或者自己构建一些东西,但是我无法抓住块内部的非编译版本。

2 个答案:

答案 0 :(得分:9)

不幸的是,西里尔的回答似乎过时了?我在Handlebars documentation on block helpers中找到了这个替代方案:

原始块

原始块可用于需要处理未处理的胡须块的模板。

{{{{raw-helper}}}}
    {{bar}}
{{{{/raw-helper}}}}

将执行helper raw-helper而不解释内容。

Handlebars.registerHelper('raw-helper', function(options) {
    return options.fn();
});

将呈现

{{bar}}

答案 1 :(得分:8)

是的我终于找到了它,它被称为...... 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 %}

更新:更新Handlebars后,此剪辑现在似乎无法正常工作。我opened a ticket了解如何使其发挥作用。