Javascript 主干循环通过嵌套集合并从中获取值
访问主干集合中的嵌套值时出现问题。到目前为止,我已经设法找出了一些价值观。下面是html和javascript代码以及我的结果: 代码: 结果: 但是,此解决方案中的集合不符合我实际api的结构。我正在努力工作的结构如下所示:Javascript 主干循环通过嵌套集合并从中获取值,javascript,jquery,backbone.js,underscore.js,backbone-model,Javascript,Jquery,Backbone.js,Underscore.js,Backbone Model,访问主干集合中的嵌套值时出现问题。到目前为止,我已经设法找出了一些价值观。下面是html和javascript代码以及我的结果: 代码: 结果: 但是,此解决方案中的集合不符合我实际api的结构。我正在努力工作的结构如下所示: teamsCollection = new Standings.Collections.TeamsCollection([ { credit: { message: "Provided by ", link: "",
teamsCollection = new Standings.Collections.TeamsCollection([
{
credit: {
message: "Provided by ",
link: "",
logoUrl: ""
},
metadata: { },
groups: [
{
labels: [ ],
standings: [
{
team: {
id: 9369,
name: "IF Elfsborg",
shortName: "Elfsborg",
link: ""
},
stats: [
{
name: "gp",
value: 30
},
{
name: "w",
value: 18
},
{
name: "d",
value: 5
},
{
name: "l",
value: 7
},
{
name: "gf",
value: 48
},
{
name: "ga",
value: 29
},
{
name: "gd",
value: 19
},
{
name: "pts",
value: 59
}
]
},
{
team: {
id: 19740,
name: "BK Häcken",
shortName: "Häcken",
link: ""
},
stats: [
{
name: "gp",
value: 30
},
{
name: "w",
value: 17
},
{
name: "d",
value: 6
},
{
name: "l",
value: 7
},
{
name: "gf",
value: 67
},
{
name: "ga",
value: 36
},
{
name: "gd",
value: 31
},
{
name: "pts",
value: 57
}
]
},
此代码为我们提供了一些运动结果,如比赛、胜利、目标差异等。这是集合中其他几个团队中唯一的一个。
我现在的问题是如何循环嵌套的值,并像我在示例中所做的那样显示它们(上面的tinypicurl)。我的目标是获得团队名称和统计数据,并在html中显示它们。其他团队也是如此。只需使用一个模板,用foreach在数组中循环,将手风琴HTML放在适当的位置 您可以使用已包含为下划线的内容作为主干的依赖项。
或者,您可以使用另一个模板引擎,例如Handlebar: 两者都给出了如何循环对象的示例 编辑:
让我们做一个随机模板(带下划线,更难): 或
当然,你必须适应这些价值观,但事情是这样的。嗨,Loamhoof!谢谢你的回答。我尝试过使用下划线和把手,但没有成功。对于主干和下划线,我没有太多经验,因此我希望在代码中找到一个可能的解决方案。你能举一个解决方案的例子吗。
<script id="myTemplate">
<% _.each(standings, function(standing) { %>
<a href="<%= standing.team.link %>"><%= standing.team.name %></a><br/>
<ul>
<% _.each(standing.stats, function(stat) { %>
<li><%= stat.name %>: <%= stat.value %></li>
<% } %>
</ul>
<% } %>
</script>
_.template($('#myTemplate').html(), groups[0]);
var myTemplate = _.template($('#myTemplate').html());
myTemplate(groups[0]);