【问题标题】:Using ng-repeat on an array within an array (AngularJS)在数组中的数组上使用 ng-repeat (AngularJS)
【发布时间】:2016-06-18 16:11:52
【问题描述】:

我有一个名为allSquads 的数组。它包含一系列对象,每个对象都包含一个名为squad 的属性。我想在allSquads 数组中的每个对象上重复这个squad 数组的内容。

如果我通过allSquads[0].squad 重复,它在该单个数组上工作正常。

但是,我想继续重复,像这样:

allSquads[0].squad
allSquads[1].squad
allSquads[2].squad

等等

我的(不正确的)解决方案目前如下所示:

<div ng-repeat="player in allSquads[$index].squad">...</div>

我假设在这种情况下 $index 将代表递增的整数,但它不起作用。有人可以帮忙吗?

提前谢谢...

【问题讨论】:

    标签: arrays angularjs indexing ng-repeat


    【解决方案1】:

    我认为您想要做的是获取外部循环上的值,然后循环父值的属性。类似的东西。

    <div ng-repeat="squad in allSquads">
        <div ng-repeat="player in squad.players">
            {{ player }}
        </div>
    </div>
    

    有什么理由需要直接访问0、1、2等的偏移量吗?

    【讨论】:

    • 其实有这种情况。我在“卡片”上运行重复,我为卡片设置了非常具体的 CSS。创建一个额外的 div 作为外循环会弄乱 CSS,我似乎找不到解决方案。
    • 好的,所以在您的代码中,不要使用$index,而是尝试将其替换为$parent.$index,这样行吗?
    【解决方案2】:

    请查看 this answer 以获取嵌套的 ng-repeat。这就是你的样子

    <div ng-repeat="squad in allSquads">
       <div ng-repeat="player in squad">
           {{player}}
       </div>
    </div>
    

    编辑

    如果你不想使用嵌套循环,一种方法是将二维数组制作成类似于this example 的一维数组,然后在每个 concat push split point 以显示下一个小队已经开始之后对其进行迭代.所以['p1','p2',';;','p3',...]";;" 会标记分裂

    【讨论】:

    • 请看上面的评论。
    猜你喜欢
    • 2015-01-18
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    相关资源
    最近更新 更多