我的MVC应用程序中有一个for循环,如此
for(var i = 0; i < data.length; i +=2){
<div class='@(i== 0? "item active": "item")'>
<div>
@Html.Raw(data[i].Description)
</div>
<div>
@Html.Raw(data[i + 1].Description)
</div>
</div>
}
我想在angularjs中转换上面的代码。
表示每个循环从当前和下一个数组索引渲染记录,比如说i = 0然后渲染第一个和第二个记录详细信息。
实际上它是一个大对象,为了清楚起见我减少了代码,我想在ng-repeat
中编写相同的代码
答案 0 :(得分:0)
你基本上想要这样的东西:
<div ng-repeat="dataEntry in data" ng-class="{active: $first}" class="item">
<div>{{ dataEntry.Description }}</div>
<div ng-if="!$last">{{ data[$index + 1].Description }}</div>
</div>
data
每次迭代的每个条目。使用{{}}访问并呈现内容$index + 1
来获取条目数组中的下一个条目。我假设您知道必须在$ scope中附加/访问此方案中的data
。
答案 1 :(得分:0)
我最终得到了一个肮脏的伎俩:
<div ng-repeat="item in data"
ng-class="{active: $first}" class="item row"
ng-if='$index % 2 == 0'>
<div class='col-lg-6'>{{ item.a }}</div>
<div class='col-lg-6'>{{ data[$index + 1].a }}</div>
</div>
如果$ index%2 == 0只有渲染,则表示0,2,4 ......它可以正常工作。