angulaire.js - La directive ng-class d'angularjs modifie l'attribut de classe cliqué par ng-click et échoue
巴扎黑
巴扎黑 2017-05-15 17:03:59
0
2
730

Front-end :

<p ng-app="ngApp" ng-controller="productPackagePullController">
                <dl class="pd-dsc clearfix" id="pd-dsc1" style='margin-top:8px;'>
                <dt class="left">{{sdata.spd1name}}: </dt>
                <p class='pd-spec-dets clearfix'>
                <p class='pd-spec-sb enable' 
                ng-class="{'selected':s._hover}" 
                ng-repeat="s in data"
                ng-bind="s.det_name1"
                ng-click="clickStatus(s)">
                </p>
                </p>
                </dl>
            </p>
           

js :

$scope.clickStatus = function(prop){
    prop._hover = !prop._hover;
    var text = prop.det_name1;
}

css :

<style type="text/css">
    .pd-spec-sb {
    font-size: 12px;
    line-height: initial;
    display: inline-block;
    padding: 4px 6px;
    border: 1px solid #ccc;
    color: #aaa;
    margin-right: 5px;
    margin-bottom: 5px;
    float: left;
}

.pd-spec-sb.enable {
    color: #666;
    border: 1px solid #666;
}

.pd-spec-sb.hover {
    color: #ff9000;
    border: 1px solid #ff9000;
}
</style>

Après avoir cliqué, l'attribut hover ne sera pas ajouté à p. L'effet souhaité est que cliquer sur p ajoutera l'attribut hover au p. Je ne sais pas où j'ai fait une erreur, je viens d'apprendre Angularjs, veuillez donner. moi une réponse

巴扎黑
巴扎黑

répondre à tous(2)
小葫芦

J'ai mis votre code sur jsFiddle et j'ai apporté quelques modifications pour répondre à vos exigences. Si vous ne voyez pas l'effet, vous devez franchir le mur.
Démo,

大家讲道理

Remplacer la sélection dans ng-class par survol
Lisez attentivement le document

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