3

我需要使用模板来渲染每个 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 模板引擎,但我不明白我在其中如何定义。请帮忙。

4

1 回答 1

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 %>

它已经过测试,因此您可以立即使用它:)

于 2012-10-07T10:19:24.393 回答