Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng类扰乱了类的顺序_Javascript_Angularjs_Ng Class - Fatal编程技术网

Javascript ng类扰乱了类的顺序

Javascript ng类扰乱了类的顺序,javascript,angularjs,ng-class,Javascript,Angularjs,Ng Class,我有一些非常简单的角度代码,看起来像这样 <div ng-repeat="message in data.messages" ng-class="'conversationCard-' + message.type"></div> 是否有任何方法可以删除ng作用域,或者至少将其放在类声明的末尾?如果您想通过css访问该类,这应该无关紧要: div.conversationCard-phone{ //css stuff } 我不知道为什么要在css中为类指定属

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

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

是否有任何方法可以删除ng作用域,或者至少将其放在类声明的末尾?

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

div.conversationCard-phone{
    //css stuff
}
我不知道为什么要在css中为类指定属性,我所描述的方法是最常用的方法。您能否详细说明一下为什么要使用属性选择器

编辑

将html更改为

<div ng-repeat="message in data.messages" ng-class="message.type" class="conversationCard"></div>
如果要隔离手机,请执行以下操作:

div.conversationCard.phone{
    //css stuff
}

使用ng类的void如何,就像这样使用类

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


您是否考虑更改CSS选择器:[类*=“会话卡”]?我也喜欢第二个Josep的建议。您能解释一下使用属性sellector+查找类的用例吗?或者[class^=“ng scope conversationCard”]ng类有一个非常重要的用途,确保angular在渲染之前已经完成了类的计算,因此页面不会闪烁到不同的状态。不建议跳过ng类。我认为您可以将其与NgClope一起使用,并避免页面翻转。是的,我正在使用属性选择器匹配任何以字符串“conversationCard-”开头的类。可能的结尾包括-电话-电子邮件-会议-笔记等,因此属性选择器允许我选择任何组合。不幸的是,class属性必须以该字符串开头,而不是“ng scope”,因此选择器没有匹配任何内容。我编辑了我的答案以满足您的要求,而没有使用属性选择器。Mathew,似乎使用两个类是唯一的方法,这是一个遗憾,因为它没有那么整洁,但似乎无法阻止Angular更改属性中类的顺序。
<div ng-repeat="message in data.messages" ng-class="message.type" class="ng-scope conversationCard phone"></div>
div.conversationCard{
    //css stuff
}
div.conversationCard.phone{
    //css stuff
}
<div ng-repeat="message in data.messages" class="conversationCard-{{message.type}}"></div>