AngularJS : ng-repeat 中的条件换行
AngularJS : conditional wrap in ng-repeat
如果项目具有特定值,我将尝试在 ng-repeat 循环中包装元素。
例如:
items={
{name:"AAA",cat:"1"},
{name:"BBB",cat:"2"},
{name:"CCC",cat:"1"},
{name:"DDD",cat:"3"}
}
...
<div ng-repeat="item in items">
{{item.name}}
</div>
将输出:
<div>AAA</div>
<div>BBB</div>
<div>CCC</div>
<div>DDD</div>
假设我想包装类别为 1 的项目。
所需输出:
<div class="wrapper">
<div>AAA</div>
</div>
<div>BBB</div>
<div class="wrapper">
<div>CCC</div>
</div>
<div>DDD</div>
请注意,我的 ng-repeat 中已经有一个过滤器和一个 orderBy,所以不能使用它。
有什么建议可以实现吗?
非常感谢
编辑:我不能使用 class,我需要一个包装器 div。
<div ng-repeat="item in items" ng-class="{'wrapper' : item.category == 1}">
{{item.name}}
</div>
您不需要额外的 div
只需使用ng-class
就可以完成,如下-
function MainCtrl($scope) {
$scope.items=[
{name:"AAA",cat:"1"},
{name:"BBB",cat:"2"},
{name:"CCC",cat:"1"},
{name:"DDD",cat:"3"}
]
}
.wrapper {
background-color : #ccc;
width: 10%;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="" ng-controller="MainCtrl as main">
<ul>
<div ng-repeat="item in items">
<div class="wrapper" ng-if="item.cat == 1">
{{item.name}}
</div>
<div ng-if="item.cat != 1">
{{item.name}}
</div>
</ul>
</div>
编辑:
根据你编辑的问题,这是我所知道的最好的。它在上面的代码片段中实现。
<div ng-repeat="item in items">
<div class="wrapper" ng-if="item.cat == 1">
{{item.name}}
</div>
<div ng-if="item.cat != 1">
{{item.name}}
</div>
注意:如果您不想使用 Class
,可以使用 id
如果项目具有特定值,我将尝试在 ng-repeat 循环中包装元素。
例如:
items={
{name:"AAA",cat:"1"},
{name:"BBB",cat:"2"},
{name:"CCC",cat:"1"},
{name:"DDD",cat:"3"}
}
...
<div ng-repeat="item in items">
{{item.name}}
</div>
将输出:
<div>AAA</div>
<div>BBB</div>
<div>CCC</div>
<div>DDD</div>
假设我想包装类别为 1 的项目。 所需输出:
<div class="wrapper">
<div>AAA</div>
</div>
<div>BBB</div>
<div class="wrapper">
<div>CCC</div>
</div>
<div>DDD</div>
请注意,我的 ng-repeat 中已经有一个过滤器和一个 orderBy,所以不能使用它。 有什么建议可以实现吗?
非常感谢
编辑:我不能使用 class,我需要一个包装器 div。
<div ng-repeat="item in items" ng-class="{'wrapper' : item.category == 1}">
{{item.name}}
</div>
您不需要额外的 div
只需使用ng-class
就可以完成,如下-
function MainCtrl($scope) {
$scope.items=[
{name:"AAA",cat:"1"},
{name:"BBB",cat:"2"},
{name:"CCC",cat:"1"},
{name:"DDD",cat:"3"}
]
}
.wrapper {
background-color : #ccc;
width: 10%;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="" ng-controller="MainCtrl as main">
<ul>
<div ng-repeat="item in items">
<div class="wrapper" ng-if="item.cat == 1">
{{item.name}}
</div>
<div ng-if="item.cat != 1">
{{item.name}}
</div>
</ul>
</div>
编辑:
根据你编辑的问题,这是我所知道的最好的。它在上面的代码片段中实现。
<div ng-repeat="item in items">
<div class="wrapper" ng-if="item.cat == 1">
{{item.name}}
</div>
<div ng-if="item.cat != 1">
{{item.name}}
</div>
注意:如果您不想使用 Class
,可以使用 id