我想使用underscore.js来获取数组。
这是我的情况。
view.js
views.list = Backbone.View.extend({
render: function(templateName) {
var template = _.template(templateName);
this.$el.html(template({result : this.collection.models}));
_.each(this.collection.models, function(model){
console.log(model.get("id"));
});
return this;
}
});
运行结果_.each(this.collection.models, function(model){console.log(model.get("id"));});
list.html
<div id="columns">
<% _.each(result, function(model){ %>
<div id="<% model.get("id") %>" class="content">
<a href="<% model.get("url") %>">
<figure>
<img src="<% model.get("imgSrc") %>">
<figcaption><% model.get("title") %></figcaption>
</figure>
</div>
<% }); %>
</div>
我向this.collection.model
发送了一个参数作为result
参数,所以我认为我在html中编写的上述可执行代码和可执行代码是相同的,但运行结果并不相同。 / p>
有什么区别?
答案 0 :(得分:2)
您需要在模板中使用输出值的表达式。而不是
<div id="<% model.get("id") %>" class="content">
你需要:
<div id="<%- model.get("id") %>" class="content">
请参阅docs