我遇到了ng-repeat
和ng-class
的问题我从服务器获得的预定义数据是通过ng-repeat
运行的,然后在div
我打印的地方打印出来的数据另一个div
样式按钮我希望能够设置初始div
说明nth:child(3)
一个特定的样式,将从其余部分突出显示它,但仍然能够从其他按钮按下div以将该高亮转移到它。简而言之,从突出显示的div中获取样式并将其转换为单击。
到目前为止,我已设法做到这一点。
为了简单起见,我会将代码修改为必需品。
view.html
<div class="offer__container" ng-repeat="price in settingsPrices" ng-class="{'selected': price.selected}">
//Omited code
<div class="offer__container__cta" ng-click="select(price)">Select
</div>
</div>
ViewCtrl.js
//Omitted code
$scope.select = function(price) {
price.selected = !price.selected;
}
stlye.css
//Omitted
.selected {
background-color: red;
font-size: 3em;
}
在当前状态div
被设置为按钮时,单击时将更改应用于父div
,并在随后单击时将其关闭。我现在只需要让它变得独一无二,所以如果首先点击它div
它会有样式但是如果点击第4个它应该从第一个取下样式并将它应用到第4个等等......
答案 0 :(得分:1)
<div ng-repeat = "price in settingsPrices">
<div ng-class="$index == seletedDiv ?'selected':''" ngclick="select($index)">select {{price}}</div>
</div>
$scope.seletedDiv = 0;
$scope.select = function(index) {
$scope.seletedDiv = index;
}
Hope this works for u.