angulaire.js - angulaire ng-repeat change la couleur d'arrière-plan d'un certain
为情所困
为情所困 2017-05-15 16:58:27
0
4
806


Comme le montre l'image, les 5 blocs ci-dessus sont générés en boucle à l'aide de ng-repeat. Comment s'en rendre compte lorsqu'un certain bloc (tel que le bloc 2) est. cliqué, le fond du bloc La couleur passe au rouge ? Les couleurs des autres blocs restent inchangées.
Merci pour le conseil.

为情所困
为情所困

répondre à tous(4)
大家讲道理

Il y a trop de méthodes, ng-click, ng-class, la directive peut être implémentée
Il s'agit d'une méthode directe, pour référence seulement
html :

<p>
    <span ng-class="{'selected':selected==s}" ng-repeat="s in list" ng-bind="s" ng-click="changeStatus(s)"></span>
</p>

js

$scope.list = [1,2,3,4,5];
$scope.changeStatus = function(index){
    $scope.selected = index;
}
黄舟

Ajouter un événement de clic. Passez le $index et le $event de la boucle en cours. Ensuite, vous pouvez le gérer vous-même via angulaire jq.

phpcn_u1582

Vous donner un code tout fait :
HTML

<p class='options'>
    <span class='option' ng-class="{'selected':s._selected}" ng-repeat="s in orderStatus" ng-bind="s.l" ng-click="clickStatus(s)"></span>
</p>

JS

$scope.clickStatus = function(prop) {
    prop._selected = !prop._selected;
};

CSS

.option{display:inline-block;border:1px solid green;padding:.25em;margin:.5em .5em 0 0;}
.option.selected{background:green;color:white;}

Je prévois d'écrire une directive pour ce faire

世界只因有你

http://runjs.cn/detail/yfnwk6ho

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal