我做了一个联系人列表如下
<p class="contact_user" ng-show="visible1" ng-class = "{'selected':isSelected}" ng-click="isSelected = true" ng-repeat="contacter in contacters | filter:name">
<p class="user_avator">
<img src="{{contacter.img_url}}"/>
</p>
<h3 class="user_name">
{{contacter.name}}
</h3>
</p>
但这样我每次选一个联系人都会变色,我想复原已经变色的联系人,也就是说选哪个就只有哪个变色,我该怎么做?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
http://plnkr.co/edit/fqsLoxKJtx3NpYxxbCDv
ngRepeat 出来的列表内部都有个 $index,不要为每一个列表项设置 isSelected,而是要针对整个列表跟踪当前被选中的 $index 是哪个,然后用表达式绑定那个 class,判断 $index 是不是 currentSelected 就可以了。