我有一个由ngRepeat生成的列表,就像这样
<ul class="list-group">
<li class="list-group-item" ng-repeat="data in tree | filter:key">
{{data.name}}
</li>
</ul>
我希望列表中的第一项具有圆角。我有一个像
这样的风格.first-item {
border-top-left-radius: 15px;
border-top-right-radius: 15px;
}
如何将此样式应用于第一个可见项?请注意,key
已连接到搜索框,因此第一项是动态的。
答案 0 :(得分:5)
使用$ first,表示ng-repeat中的第一次迭代
<ul class="list-group">
<li ng-class="{'first-item':$first}"
class="list-group-item" ng-repeat="data in tree | filter:key">
{{data.name}}
</li>
</ul>
编辑:由于first-item
有短划线,因此必须使用引号
答案 1 :(得分:4)
您可以使用css规则first-child:
.list-group li:first-child {
border-top-left-radius: 15px;
border-top-right-radius: 15px;
}
答案 2 :(得分:1)
Pure Angular Way将是:
<ul class="list-group">
<li class="list-group-item" ng-repeat="data in tree | filter:key track by $index" ng-class="{MyClassName: $index == 0}">
{{data.name}}
</li>
</ul>
或看到Sasi Kiran的答案;)
答案 3 :(得分:1)
您可以使用$ index变量值在ng-repeat中执行此类条件格式设置。这是一个例子:
<ul class="list-group">
<li class="list-group-item"
ng-repeat="data in tree | filter:key"
ng-class="{'first-item': $index == 0}">
{{data.name}}
</li>
</ul>
答案 4 :(得分:0)
使用$ first和ng-class。 $ first是对于重复列表中的每个项目,在本地范围上公开的属性。如果项目是重复列表中的第一个,则值为true。 HTML应如下所示:
<ul class="list-group">
<li class="list-group-item" ng-repeat="data in tree | filter:key" ng-class="{'.first-item': $first}">
<div>{{data.name}}</div>
</li>