Backbone.js玉和循环模型

我对使用jade /下划线的主干模板有点困惑。

我有一个数组的骨干模型,并不知道如何呈现数组属性。 我可以将它们移动到一个单独的骨干收集和查看,但在这种情况下,似乎是矫枉过正。

我跟随了这篇关于使用骨架与玉的博客文章 ,并将以下内容添加到我的骨干文件

_.templateSettings = { interpolate : /\{\{(.+?)\}\}/g }; 

这使我能够在这个庄园中呈现模型属性:

  //in my JavaScript this.template = _.template($("#some-template").html()); //in my .jade template input.text(type='text', name="name", value='{{name}}') 

我想要解决的是如何在模型中的一个数组上做一个简单的循环。 例如

  - for (var child in children) {{child}} 

但我很困惑正确的语法,玉开始和下划线接pipe等谢谢。

你不能在浏览器中使用翡翠(嗯,你可能在技术上可以,但它不是通用的骨干,而不是下划线)。 你会在那里使用下划线模板。 _.template上的文档显示,您可以评估JavaScript并使用_.each方法遍历模型的数组属性。

它会在你的视图的render函数中看起来像这样。 你需要caching模板函数作为你的视图的一个属性来提高效率,但为了简单起见,我把它放在这里。 举个例子,你有一个带有drivers列表的Car模型作为驱动程序名称的数组。

 var template = "<% _.each(model.drivers, function(name) { %> <li><%= name %></li> <% }); %>"; return _.template(template, this); 

请注意,您将需要在模板设置中提供evaluate语法,因为此示例包括模板标记的插值样式( <%= )和评估样式( <% )。 目前,你只是有胡须风格插值,这是不够的。