【问题标题】:Handlebars, avoid compiling (ignore) part of a template?Handlebars,避免编译(忽略)模板的一部分?
【发布时间】:2014-05-12 09:19:52
【问题描述】:

有没有办法告诉 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}} 之类的东西会更好(并且更具可读性),而不是在任何地方添加\

我尝试使用块助手找到一些东西,或者自己构建一些东西,但我无法掌握块内内容的非编译版本。

【问题讨论】:

    标签: javascript handlebars.js


    【解决方案1】:

    很遗憾,西里尔的回答似乎已经过时了?我在Handlebars documentation on raw blocks 中找到了这个替代方案:

    原始块

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

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

    将在不解释内容的情况下执行帮助程序 raw-helper。

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

    将渲染

    {{bar}}
    

    【讨论】:

    • 是的,我的答案现在无效,所以我将你的答案标记为好:)
    • 在解析任何模板之前是否需要调用registerHelper
    【解决方案2】:

    是的,我终于找到了,它叫...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 看看如何让它工作。

    【讨论】:

      猜你喜欢
      • 2012-12-02
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      • 2013-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多