【发布时间】:2012-01-21 16:02:01
【问题描述】:
我喜欢 Node.js 中 Jade 模板引擎的类似 HAML 的语法,我很想在 Backbone.js 中的客户端使用它。
我见过 Backbone 通常使用以下样式的 Underscore.js 模板。
/* Tunes.js */
window.AlbumView = Backbone.View.extend({
initialize: function() {
this.template = _.template($('#album-template').html());
},
// ...
});
/* Index.html */
<script type="text/template" id="album-template">
<span class="album-title"><%= title %></span>
<span class="artist-name"><%= artist %></span>
<ol class="tracks">
<% _.each(tracks, function(track) { %>
<li><%= track.title %></li>
<% }); %>
</ol>
</script>
我希望看到一种使用 AJAX(或其他方法)获取 Jade 模板并在当前 HTML 中呈现它们的方法。
【问题讨论】:
-
github.com/gruntjs/grunt-contrib-jade 使用
{client: true}将jade 编译为js 模板函数。它不是 AJAX 获取,但听起来它可以满足您的需求。 -
原生
jade编译器可以使用--client选项将模板编译为客户端JS。但是,您必须先包含 Jade 运行时才能呈现这些模板。还有另一个项目,clientjade,让这变得更加容易。
标签: javascript backbone.js pug underscore.js