MOn*_*ode 7 angularjs ng-class semantic-ui
我使用语义ui和angular(1.4)ui来构建应用程序.我遇到这样一种情况:通过角度动态添加类名导致错误的渲染,因为ng-class似乎随意重新排列类名.这是不合需要的,因为语义要求某些类名组合遵循自然/语义顺序.例:
<div class="ui two column grid">
<div ng-class="wideVersion? 'sixteen wide column': 'fourteen wide column'"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
这个结果(当范围变量wideVersion改变时)在dom中:
<div class="ui two column grid">
<div class="wide column fourteen"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为语义要求类名遵循此用例中的自然顺序.我尝试了多个ng级变体但结果是一样的.
谢谢
我认为你可以使用ng-attr-class或者只是使用内部插值类。但在某些情况下,Angular 会自动向元素添加类,例如ng-show表单输入,因此您可能需要找到更完整的解决方案。
angular.module('test', [])
.controller('Test', function($scope){
});Run Code Online (Sandbox Code Playgroud)
.test.one.two {
color:red;
}
.test.three.four {
color:blue;
}
.test.five.six {
color:green;
}
.test.seven.eight {
color:pink;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.1/angular.min.js"></script>
<div ng-app='test' ng-controller='Test'>
<div ng-attr-class="{{checked ? 'test one two' : 'test three four'}}">test1</div>
<div class="{{checked ? 'test five six' : 'test seven eight'}}">test2</div>
<input type='checkbox' ng-model='checked'> click
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
589 次 |
| 最近记录: |