具有多个参数的下划线模板方法

时间:2014-07-29 17:29:02

标签: javascript underscore.js

在Underscore.js网站上,我们获得了代码示例:

var list = "<% _.each(people, function(name) { %> <li><%= name %></li> <% }); %>";
_.template(list, {people: ['moe', 'curly', 'larry']});

=> "<li>moe</li><li>curly</li><li>larry</li>"

让我们假设我想要传递2个数组而不是1个(@ people)。所以我可以做类似的事情:

{ %> <li><%= name %> , <%= address %></li> <% }

我修了一下,不知道如何使用这个方法。

1 个答案:

答案 0 :(得分:4)

我相信你必须使用&#34; name&#34;将数组变成一个对象数组。和&#34;地址&#34;属性:

_.template(list, {people: [ 
    { name: 'moe', address: 'foo'}, 
    { name: 'curly', address: 'bar' } 
] });

然后参数将是对象&#34; person&#34;而不仅仅是字符串&#34; name&#34;:

var list = "<% _.each(people, function(person) { %> <li>Name: <%= person.name %>, Address: <%= person.address %></li> <% }); %>";