您的位置:首页 > Web前端 > CSS

ng-repeat设置第一个元素为默认样式,点击其余元素切换样式

2017-09-20 23:30 423 查看
如何在ng-repeat时默认第一个元素background-color为红色,点击对应元素背景变红同时更换其他全为黑色

提供一个简单思路:

JS:
$scope.isActive = 0;
$scope.arr = [
{
//code here
},
{
//code here
}
];
$scope.selectItem = function (index) {
item.isActive = index;
}


HTML:
<ul>
<li ng-repeat="item in arr track by $index" ng-class="{red:isActive === $index, black:!isActive === $index}" ng-click="selectItem($index)"></li>
</ul>


CSS:
.red {
background: red;
}
.black {
background: black;
}


修改你的代码就是这样:

HTML:
<div class="p10 c-white w50p fl mr1 tc" ng-repeat="e in item.images">
<div class="w50p h50 img_div" ng-class="{b-red:isActive === $index,b-white:!isActive === $index}" ng-click="changeGood($index)">
<img src="{{e.path}}">
</div>
<span class="ib w50p fs0-6 span-over">{{e.description}}</span>
</div>


controller:

$scope.isActive=0;

$scope.changeGood=function(index){
$scope.isActive=index;

}


原文转载自:https://segmentfault.com/q/1010000006132084/a-1020000006132455
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐