【问题标题】:Handlebars - get unaltered content of blockHandlebars - 获取块的不变内容
【发布时间】:2012-11-28 08:04:40
【问题描述】:

我想获得车把中块的未更改/未渲染/任何内容。所以,假设我有以下内容:

{{#template}}
    <tr><td>{{name}}</td><td>{{price}}</td></tr>
{{/template}}

如果我有一个名为“模板”的助手,我希望能够引用原始内容块 - 而不是“已编译”模板块。所以,我希望能够在没有{{name}} 和{{price}} 被“渲染”的情况下获得&lt;tr&gt;&lt;td&gt;{{name}}&lt;/td&gt;&lt;td&gt;{{price}}&lt;/td&gt;&lt;/tr&gt; 的字符串。

现在,我唯一能访问的似乎是“this.options.fn”,它似乎只是一个预编译的模板片段。

有没有办法做到这一点?到目前为止,我所看到的只是对编译内容的引用。

注意 - 如果甚至可以说“我真的想把它打印出来”,那也可以。例如,Smarty 中的 {literal},它将忽略 {/literal} 之前的所有内容。

【问题讨论】:

  • 我不知道你的总体意图是什么,但你不能使用部分而不是直接操作模板片段吗?
  • 意图主要是为了文字“这就是我想要在 HTML 中的样子”。有各种原因 - 文档,不必为模板 sn-ps 需要五个单独的三行 html 文件 .. 之类的东西。在这种情况下,部分并不是我所需要的(尽管我确实使用它们并且知道如何使用它们)。
  • 我有完全相同的需求,可惜似乎没有解决方案。
  • 有一个已关闭的问题,如果您可以按照建议的解决方案进行操作:github.com/wycats/handlebars.js/issues/353

标签: javascript handlebars.js client-side-templating


【解决方案1】:
<script type="text/template" id="my-template">
  <tr><td>{{name}}</td><td>{{price}}</td></tr>  
</script>

var uncompiledTemplate = $( '#my-template');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    • 2018-07-03
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    相关资源
    最近更新 更多