如何将第一项中的类添加到angularjs列表中

如何将第一项中的类添加到angularjs列表中,angularjs,twitter-bootstrap,Angularjs,Twitter Bootstrap,我启动了angularjs http请求,并成功地获得了如下数据,但当我试图根据引导类“collapse in”而不是“collapse”扩展第一项时,我没有找到解决方案 安格拉斯 HTML {{Art.Art_Body} 阅读更多。。。 您能帮我找出如何在angularjs列表的第一项中添加“in”类吗?您可以使用ng类和函数检查它是否是第一项,如下所示 $scope.setClass = function(index){ //return collapse in if it is

我启动了angularjs http请求,并成功地获得了如下数据,但当我试图根据引导类“collapse in”而不是“collapse”扩展第一项时,我没有找到解决方案

安格拉斯

HTML


{{Art.Art_Body}
阅读更多。。。

您能帮我找出如何在angularjs列表的第一项中添加“in”类吗?

您可以使用ng类和函数检查它是否是第一项,如下所示

$scope.setClass = function(index){
    //return collapse in if it is the first item
    if(index == 0) return "panel-collapse collapse in";
    //or return collapse in
    return "panel-collapse collapse";
}
对于视图,请将其更改为

<div data-ng-id="{{Atr.Art_ID}}" ng-class="setClass($index)">

您接受的答案是错误的做法,您可能会在应用程序中出现以下错误:不必将函数绑定到视图

只需使用
ngClass
指令即可(使用对第一个元素为TRUE的
$first
指示符):

您可能还希望在元素绑定到视图后使用确保角度停止跟踪类中的
,这样它就不会在每个摘要循环中重新添加它(注意
ngClass
表达式中的
):


{{Art.body}}
阅读更多。。。

非常感谢@Alon Eitan,这非常有用。但除此之外,我需要使面板能够只消耗一个面板,而将所有其他面板折叠。“我怎么能这么做呢?”穆罕默德·赫什塔维很乐意帮忙。请看一下手风琴的实现-
$scope.setClass = function(index){
    //return collapse in if it is the first item
    if(index == 0) return "panel-collapse collapse in";
    //or return collapse in
    return "panel-collapse collapse";
}
<div data-ng-id="{{Atr.Art_ID}}" ng-class="setClass($index)">
<div data-ng-id="{{Atr.Art_ID}}" class="panel-collapse collapse" ng-class="{in: $first}">
<div data-ng-id="{{Atr.Art_ID}}" class="panel-collapse collapse" ng-class="{in: $index == 0}">
    <div data-ng-id="{{Atr.Art_ID}}" class="panel-collapse collapse" ng-class="::{in: $first}">