使用ng-repeat in angular列出每行2个元素的最佳方法?

AFu*_*sco 8 javascript angularjs ng-repeat angularjs-ng-repeat

我有一个对象数组,我想使用ng-repeat显示每行2.

我想出的解决方案如下:

 <div ng-repeat="element in elements">
      <div layout="row" ng-if="$even">
        <div flex>
          <span>{{ elements[$index].name }}</span>
        </div>
        <div flex>
          <span>{{ elements[$index+1].name }}</span>     
        </div>
      </div>
</div>
Run Code Online (Sandbox Code Playgroud)

问题在于,我无法以| filter正确的方式过滤内容,因为它会显示过滤后的元素和以下内容.

解决问题的最佳方法是什么?

抱歉我的英语不好,这不是我的第一语言.先感谢您.

Yar*_*mer 2

正如 @Joshua Ohana 在评论中所说,一个好的解决方案是预处理您的数组,然后使用您的解决方案。

根据您的解决方案,一个快速而肮脏的选项(无需预处理)是过滤 span 元素内的数组:

<div ng-repeat="element in elements">
  <div layout="row" ng-if="$even">
    <div flex>
      <span>{{ (elements | filter:<yourFilterHere>)[$index].name }}</span>
    </div>
    <div flex>
      <span>{{ (elements | filter:<yourFilterHere>)[$index+1].name }}</span>     
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

但我更喜欢预处理选项。