【问题标题】:underscore doesn't replace variables下划线不替换变量
【发布时间】:2015-01-26 20:10:56
【问题描述】:

我在 js 中有以下行:

 terminalsListHtml += this.compiled(_.extend(this.terminals[i], {clazz: 'all'}, obj));

我调试以下代码:

尝试评估_.extend(this.terminals[i], {clazz: 'all'}, obj)

看起来不错

但尝试评估

this.compiled(_.extend(this.terminals[i], {clazz: 'all'}, obj));

这对我来说不是预期的结果。

请帮助解决所描述的问题。

附言

window.MARC = {
        addTerminalPage: {
            ....
            compiled: _.template($('#terminal-template').text()),



<script type="text/template" id="terminal-template">
    <li data-terminal-id="{{ id }}" class="{{ clazz2 }}">
        <label>
            <input type="checkbox" name="terminal" class="{{ clazz }}" data-terminal-id="{{ id }}" />
            <a href="#" title="" class="image"><img
                    src="<c:url value='/resources/images/img1.png'/>"
                    alt=""/></a>

            <h3>{{ name }}
                <small>{{ place }}</small>
            </h3>
            <p>{{ description }}</p>

            <p class="count">Проходимость: <span>{{ count }}</span> чел./час</p>

            <p class="count">Стоимость: <span>{{ amount }}</span> руб./час</p>
        </label>
    </li>
</script>

附言

_.templateSettings = {
        interpolate: /\{\{(.+?)\}\}/gim,
        evaluate: /\{\{(.+?)\}\}/gim,
        escape: /\{\{\-(.+?)\}\}/gim
    };

【问题讨论】:

  • 默认下划线模板使用 ERB 语法,例如&lt;span&gt;&lt;%= foobar %&gt;&lt;/span&gt;。您是否指定要使用下划线来使用 mustache.js 样式 &lt;span&gt;{{ foobar }}&lt;/span&gt; 模板?有关如何启用此功能的信息,请参阅template section of the underscore.js docs
  • 您更新_.templateSettings 以使用Handlebars 语法了吗?
  • @mu 太短了,您是否放弃了这个 _.templateSettings = { 插值:/\{\{(.+?)\}\}/gim,评估:/\{\ {(.+?)\}\}/gim,转义:/\{\{\-(.+?)\}\}/gim }; ?
  • @mu 太短了,你的评论对我有帮助。

标签: javascript templates underscore.js


【解决方案1】:

搬家后就可以了

<script type="text/javascript">
    _.templateSettings = {
        interpolate: /\{\{(.+?)\}\}/gim,
        evaluate: /\{\{(.+?)\}\}/gim,
        escape: /\{\{\-(.+?)\}\}/gim
    };
</script>

在文件开头

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多