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
语法,因为此示例包括模板标记的插值样式( <%=
)和评估样式( <%
)。 目前,你只是有胡须风格插值,这是不够的。