下划线不替换变量

时间:2015-01-26 20:10:57

标签: javascript templates underscore.js

我在js中有以下行:

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

我调试以下代码:

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

看起来不错

但尝试评估

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

enter image description here

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

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

P.S。

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>

P.S。

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

1 个答案:

答案 0 :(得分:0)

移动后正在工作

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

在文件的开头