【发布时间】:2015-11-29 18:38:48
【问题描述】:
让我们研究以下代码行:
terminalsListHtml += this.compiled(_.extend(this.terminals[i], {clazz: 'all'}, obj));
模板:
compiled: _.template($('#terminal-template').text()),
下面的选择器
$('#terminal-template').text()
返回
"
<li data-terminal-id="{{ id }}" class="{{ clazz2 }}">
<label>
<input type="radio" name="terminal" class="{{ clazz }}" data-terminal-id="{{ id }}"/>
<a href="/admin/createCompany/getOriginalImage/{{imageId}}" title=""
class="fancy_image small-picture"><img
src="/admin/createCompany/getMediumThumbnail/{{imageId}}"
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>
"
以下代码行
_.extend(this.terminals[i], {clazz: 'all'}, obj)
但执行后
terminalsListHtml += this.compiled(_.extend(this.terminals[i], {clazz: 'all'}, obj));
terminalsListHtml 等于
"
<li data-terminal-id="{{ id }}" class="{{ clazz2 }}">
<label>
<input type="radio" name="terminal" class="{{ clazz }}" data-terminal-id="{{ id }}"/>
<a href="/admin/createCompany/getOriginalImage/{{imageId}}" title=""
class="fancy_image small-picture"><img
src="/admin/createCompany/getMediumThumbnail/{{imageId}}"
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>
"
我做错了什么?
【问题讨论】:
-
如果您的评论中确实有
_.templateSettings,似乎可以正常工作 (jsfiddle.net/ambiguous/r94snakk)。在调用_.template之前,您是否设置了_.templateSettings? -
@mu 太短你是对的 - 问题与 templateSettings 位置有关
标签: javascript jquery underscore.js template-engine