两个数组上的ng-repeat

时间:2014-08-03 22:58:26

标签: angularjs angularjs-directive angularjs-ng-repeat ng-repeat

我想对一个由两个数组组成的数组进行ng-repeat,如下所示:

[titles: [], links: []]

我的数组(标题和链接)长度相同 我想在我的ng-repeat中打印的内容最终是这样的:

{{ array.title }}
{{ array.link }}

例如,在C程序中我必须这样做:

int i;

i = 0;
while (titles[i])
{
    printf("%s - %s", titles[i], links[i]);
    i++;
}

3 个答案:

答案 0 :(得分:17)

我们不清楚您的数据如何 - [titles: [], links: []]没有意义。

理想情况下,您可以将数据排列为对象数组,如下所示:

var array = [{title: "foo", link: "bar"}, {title…etc]

然后你可以使用:

<div ng-repeat="obj in array">
   {{obj.title}},  {{obj.link}}

如果您知道标题和链接的大小始终相同,则可以执行此操作,但它不是很漂亮且可能有点脆弱:

<div ng-repeat="title in titles">
   {{title}}, {{links[$index]}}
</div>

答案 1 :(得分:7)

这就是我的工作方式:

<ion-item ng-repeat="name in product.names">
    Buy {{name}} for {{product.prices[$index]}}
</ion-item>

我有同样大小的product.names和product.prices

答案 2 :(得分:2)

如果长度相同,则将其设为对象而不是两个数组。

plunker

<ui ng-repeat="movie in movies">
  <li>{{movie.t}} located in {{movie.l}}</li>
</ui>
相关问题