扫码关注官方订阅号
我做了一个联系人列表如下
{{contacter.name}}
但这样我每次选一个联系人都会变色,我想复原已经变色的联系人,也就是说选哪个就只有哪个变色,我该怎么做?
业精于勤,荒于嬉;行成于思,毁于随。
http://plnkr.co/edit/fqsLoxKJtx3NpYxxbCDv
ngRepeat 出来的列表内部都有个 $index,不要为每一个列表项设置 isSelected,而是要针对整个列表跟踪当前被选中的 $index 是哪个,然后用表达式绑定那个 class,判断 $index 是不是 currentSelected 就可以了。
<style type="text/css"> .selected{ background-color: lightgreen; } </style> <p ng-repeat="item in items" ng-class='{selected:$index==selectedRow}' ng-click='selectedWhich($index)'> <span>{{item.product_name}}</span> <span>{{item.price | currency}}</span> </p> <script> $scope.items = [ { product_name: "Product 1", price: 50 }, { product_name: "Product 2", price: 20 }, { product_name: "Product 3", price: 180 } ]; $scope.selectedWhich = function (row) { $scope.selectedRow = row; } </script>
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
http://plnkr.co/edit/fqsLoxKJtx3NpYxxbCDv
ngRepeat 出来的列表内部都有个 $index,不要为每一个列表项设置 isSelected,而是要针对整个列表跟踪当前被选中的 $index 是哪个,然后用表达式绑定那个 class,判断 $index 是不是 currentSelected 就可以了。