gpt4 book ai didi

javascript - 如何使用Backbone解析JSON?

转载 作者:行者123 更新时间:2023-11-29 19:31:06 26 4
gpt4 key购买 nike

我正在学习 Backbone,举一个小例子。我有一个 JSON url,结果如下所示:

{
help: "Help",
success: true,
result: {
count: 13,
results: [
{
name: "Name 1",
description: "Desc 1",
resources: [
{
img: "url.jpg"
}
]
},
{
name: "Name 2",
description: "Desc 2",
resources: [
{
img: "url2.jpg"
}
]
}
]
}
}

现在我想把所有的结果放到一个 HTML div 中,所以我使用了这个:

$(function() {
var Dataset = Backbone.Model.extend();

var ProfileList = Backbone.Collection.extend({
model: Dataset,
url: 'profiles.json'
});

var ProfileView = Backbone.View.extend({
el: "section#block-block-5",
template: _.template($('#profileTemplate').html()),
render: function(eventName) {
_.each(this.model.models, function(profile){
var profileTemplate = this.template(profile.toJSON());
$(this.el).append(profileTemplate);
}, this);

return this;
}
});

var profiles = new ProfileList();
var profilesView = new ProfileView({model: profiles});
profiles.fetch({
success: function(){
profilesView.render();
}
});
});

<script id="profileTemplate" type="text/template">
<div class="profile">
<div class="info">
<div class="name">
<%= name %>
</div>
<div class="description">
<%= description %>
</div>
<div class="image">
<%= resources.url %>
</div>
</div>
</div>
</script>

问题是我不知道如何访问 JSON 响应中的 results 组。

感谢您的帮助。

最佳答案

您应该使用解析函数将您的模型与 result 元素的 results 属性绑定(bind)

var ProfileList = Backbone.Collection.extend({
model: Dataset,
url: 'profiles.json',
parse: function (response) {
return response.result.results;
}
});

关于javascript - 如何使用Backbone解析JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27500898/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com