【发布时间】:2016-01-26 20:15:01
【问题描述】:
我是 Angular 的新手,所以如果这似乎是一个明显的问题,请提前道歉......
我知道如何使用 ng-repeat 指令显示一个简单的对象数组,但我不确定如何构建更复杂的信息层。
例如:如果我想列出英超联赛的足球俱乐部,我可以简单地创建一个对象数组,该数组列出了俱乐部,每个俱乐部都是一个对象,其中包含与相关的各种信息或数据的键值对那个俱乐部:
$scope.clubs = [
{
name: "Arsenal",
nickname: "Gunners",
clubBadge: "arsenal.jpg",
founded: "1886"
},
{
name: "Newcastle United",
nickname: "Magpies",
clubBadge: "newcastle.jpg",
founded: "1892"
}
// etc...
]
没关系。但是接下来我可能想列出每个俱乐部中的球员。例如:
// the following being the team of Newcastle United...
{
GK: "Rob Elliot",
LB: "Paul Dummett",
CB: "Fabricio Coloccini",
CB: "Chancel Mbemba",
RB: "Daryl Janmaat",
LW: "Andros Townsend",
MF: "Georginio Wijnaldum",
MF: "Jack Colback",
RW: "Moussa Sissoko",
ST: "Ayoze Perez",
ST: "Aleksander Mitrovic",
}; // and so on for other clubs...
如果上述对象只是无序数组中的随机索引,我如何将上述对象附加到原始数组中的纽卡斯尔联(以及其他俱乐部)?从整体上构建这些信息的正确方法是什么?
我可以通过提供每个玩家的统计数据来更进一步,例如:
{ // stats for Moussa Sissoko
speed: "86",
ballControl: "71",
strength: "85",
vision: "79"
}
{ // stats for Ayoze Perez
speed: "78",
ballControl: "83",
strength: "69",
vision: "78"
}
再次,我将它们列为单独的对象。但我不知道用什么数组将它们链接到各自的俱乐部,或者如何连接每个数组(假设有三个单独的数组:$scope.clubs、$scope.players、$scope.attributes)。
如果 Newcastle Utd 是数组中的第 10 家具乐部,它将是 $scope.clubs[9],但我不想为没有链接到 $scope.clubs[] 数组的球员创建一个全新的数组。理想情况下,我希望一切都连接起来。
在这些情况下,ng-repeat 是否足以访问模型数据,还是需要更复杂的指令?我正在寻找构建信息,以便在视图中轻松更新和显示数据。
抱歉,这有点啰嗦 - 如果我知道如何更简洁地表达我的问题,我会的!
这里的任何建议都将不胜感激。提前致谢。
【问题讨论】:
标签: arrays angularjs object data-structures display