我需要使用模板来渲染每个ItemView:
var ItemView = Backbone.View.extend({
className: 'item',
template: _.template($('#itemTemplate').html()),
initialize: function () {
}
});
所以我首先需要定义html模板:
<script id="itemTemplate" type="text/template">
<img src="<%= photo %>" alt="<%= name %>" />
<h1><%= name %><span><%= type %></span></h1>
<div><%= address %></div>
<dl>
<dt>Tel:</dt><dd><%= tel %></dd>
<dt>Email:</dt><dd><a href="mailto:<%= email %>"><%= email %></a></dd>
</dl>
但我使用Nodejs Jade模板引擎,我不明白我在其中定义的shuold。 请帮助。
答案 0 :(得分:10)
这很简单,但有一个问题:您不希望Jade转义属性内容,因此请使用foo!='<%= bar &%>'
而不是foo='<%= bar &%>'
。
我们走了:
script#itemTemplate(type='text/template')
img(src!='<%= photo %>', alt!='<%= name %>')
h1 <%= name %>
span <%= type %>
div <%= address %>
dl
dt Tel:
dd <%= tel %>
dt Email:
dd
a(href!='mailto:<%= email %>') <%= email %>
经过测试,您可以立即使用它:)