如何定义用于Backbone的jade模板

时间:2012-10-07 09:54:28

标签: node.js backbone.js express pug

我需要使用模板来渲染每个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。 请帮助。

1 个答案:

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

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