AngularJS:ng-repeat-start不适用于ng-init

时间:2016-05-03 10:39:58

标签: angularjs angularjs-ng-repeat ng-repeat ng-init

我正在使用 ng-repeat-start / ng-repeat-end 并在必要时使用$ index,但我想使用ng-init =“ someName = $ index“并使用”someName“来获得更清晰的代码,而不是在嵌套的ng-repeats中混用它。

它与ng-repeat完美配合,但在ng-repeat-start中执行此操作失败。

这是一个angularjs问题吗?为什么不在那里工作?

这是代码(我也在使用bootstrap):

<div class="col-md-3" ng-repeat-start="item in items" ng-init="myIndex = $index" ng-if="myIndex%3==0">
  <p>Introduction text for each row</p>
</div>
<div class="col-md-3">
  <h1>{{ item.name }}</h1>
  <h2>{{ item.description }}</h2>
</div>
<hr class="col-md-12" ng-repeat-end ng-if="myIndex%3==2">

我想有这样的事情:

“intro text”[“first element”“second element”“third element”]

“intro text”[“第四元素”“第五元素”“第六元素”]

“intro text”[“第七元素”“第八元素”“第九元素”]

当使用myIndex时,带有文本和hr的第一个div永远不会显示,但只有$ index它才能正常工作

角度版本是1.4.9

1 个答案:

答案 0 :(得分:1)

在$ index值中使用ng-if而不是main <div>

<div class="col-md-3" ng-if="myIndex%3==0">
  <h1>{{ item.name }}</h1>
  <h2>{{ item.desc }}</h2>
</div>

查看此Jsfiddle ...