我有一个模板,仅当当前项目与前一个项目有一些不同的字段时,我才想生成一些 HTML。如何访问 ng-repeat 中的前一项?
你可以做类似的事情
<div ng-app="test-app" ng-controller="MyController">
<ul id="contents">
<li ng-repeat="content in contents">
<div class="title">{{$index}} - {{content.title}} - {{contents[$index - 1]}}</div>
</li>
</ul>
</div>
JS
var app = angular.module('test-app', []);
app.controller('MyController', function($scope){
$scope.contents=[{
title: 'First'
}, {
title: 'Second'
}, {
title: 'Third'
}]
})
Demo: Fiddle http://jsfiddle.net/arunpjohny/fg2AC/1/
当心: $index
用于指令数组,它可能与作用域数组不同。使用内联变量访问正确的数组。
<li ng-repeat="content in (correctContents = (contents | orderBy:'id'))">
{{ correctContents[$index - 1] }} is the prev element
</li>
如果您过滤或排序,contents[$index] != content
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)