angularjs ng-class指令改变ng-click点击的class属性失效

前端:

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

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>

图片描述

点击后不会给div增加hover属性,想要达到的效果是,点击div给该div增加hover属性,不知道哪里弄错了,刚学angularjs,麻烦解答一下

阅读 4.4k
2 个回答

我把你的代码放到jsFiddle上了,改了下,达到了你的要求,如果看不到效果就要翻墙了。
Demo

把ng-class中的selected换成hover
把文档好好看下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进