Angular JS - ng-repeat和循环条件

its*_*sme 20 javascript loops for-loop conditional-statements angularjs

嘿,我有这段代码:

<div ng-repeat="i in values">
{{i}}
</div>
Run Code Online (Sandbox Code Playgroud)

它的工作原理,但我想在循环中添加额外的条件,如:

<div ng-repeat="i in values">
{{i}}
if(i !== 0){
<div></div>
}
</div>
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现这一目标?

Dav*_*yon 52

使用ng-if(或ng-show):

<div ng-repeat="i in values">
   <div ng-if="i !== 0"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

附加到元素,这将决定是否显示它.

ng-if的文档可以在这里找到.

但是,如果您只想循环第一个或最后一个项目,那么您也可以使用$first$last属性ng-repeat.这些都用ng-repeat记录.并且可以像这样使用:

<div ng-repeat="i in values">
   <div ng-if="$first"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • @sbaaaang有一个内置于ng-repeat:`$ index`.你还有`$ odd`和`$ even`来处理备用行等事情. (3认同)
  • ng-if是比ng-show更好的解决方案,因为ng-if修改了DOM.ng-show仅显示/隐藏元素. (2认同)

Sta*_*Sky 9

使用该ng-if 声明

<div ng-repeat="i in values">
   {{i}}
   <div ng-if="i !== 0"></div>
</div>
Run Code Online (Sandbox Code Playgroud)