ng-class搞乱了类的顺序

时间:2012-12-24 19:16:51

标签: javascript angularjs ng-class

我有一些非常简单的Angular代码,看起来像这样......

<div ng-repeat="message in data.messages" ng-class="'conversationCard-' + 
message.type"></div>

它可以工作,但结果输出看起来像这样....

<div ng-repeat="message in data.messages" ng-class="'conversationCard-' + 
message.type" class="ng-scope conversationCard-phone"></div>

问题是我的班级现在以ng-scope开头,这会破坏我的css选择器,看起来像这样..

[class^="conversationCard"]

有没有办法获得角度去除ng-scope,或者至少把它放在类声明的最后?

2 个答案:

答案 0 :(得分:1)

如果您想通过css访问该类,则无关紧要:

div.conversationCard-phone{
    //css stuff
}

我不确定你为什么要使用css为类指定属性的能力,我所描述的方法是常用的方法。您是否可以详细说明您使用属性选择器的原因?

修改

将您的HTML更改为

<div ng-repeat="message in data.messages" ng-class="message.type" class="conversationCard"></div>

因此处理后变为

<div ng-repeat="message in data.messages" ng-class="message.type" class="ng-scope conversationCard phone"></div>

所以在你的CSS中你可以做到

div.conversationCard{
    //css stuff
}

如果您想隔离手机:

div.conversationCard.phone{
    //css stuff
}

答案 1 :(得分:-1)

如何使用ng-class进行void,只需使用这样的类

<div ng-repeat="message in data.messages" class="conversationCard-{{message.type}}"></div>