我有一个数据= {a,a,a,b,b,b,c,c,c}
<div ng-repeat="value in data" >
<div class="col-xs-8">{{value}}</div>
</div>
当值改变时我想打印
<div ng-repeat="value in data" >
if(value change ) print (<div class="row" >);
<div class="col-xs-8">{{value}}</div>
if (value change ) print (</div>);
</div>
你可以帮我吗
谢谢你
答案 0 :(得分:3)
<div ng-repeat="value in data track by $index" >
<div ng-if="data[$index-1] != data[$index]" class="row" >
<div class="col-xs-8">{{value}}</div>
</div>
<div ng-if="data[$index-1] == data[$index]" class="col-xs-8">{{value}}</div>
</div>
您需要按$ index跟踪并检查以前的索引值是否与当前相同。
答案 1 :(得分:1)
<div ng-repeat="value in data track by $index" >
<div class="row" ng-if="isShowRow($index-1, $index)">
<div class="col-xs-8">{{value}}</div>
</div>
<div class="col-xs-8" ng-if="!isShowRow($index-1, $index)">{{value}}
</div>
</div>
ng-if
绑定到范围方法:
$scope.isShowRow = function(prevIndex, newIndex) {
if (prevIndex > -1 && $scope.data[prevIndex]) {
if ($scope.data[prevIndex] !== $scope.data[newIndex]) {
return true;
}
}
else {
return false;
}
};
另外,我必须添加一些css来显示正在添加row
元素。