在使用混合表达式时,用angular和ng-class分别使用class
Using class with angular vs ng-class while using a mixed expression
我有一个div,我想用AngularJS给一个动态类。
div在一个ng-repeat语句中,其中lang。前缀在前面,然后是sv
使用下面的代码可以工作,并将类设置为i-flag-en而不是i-flag-sv,但这是正确的吗?
<div class="float-left flag i-flag-{{lang.prefix}}"></div>
我知道存在一个ng-class指令,可以用来在AngularJS中动态设置元素的类。
我想我在一本书的某个地方读到,正常的类指令不应该被用来用AngularJS动态地设置类属性,因为Angular操纵dom的方式。
但是,下面的代码不起作用:
<div class="float-left flag" ng-class="i-flag-{{lang.prefix}}"></div>
,我宁愿用这种方式设置类,而不是创建另一个作用域变量。
使用class属性与AngularJS动态设置类是不好的做法吗?即使是不好的做法,它是否一直有效?
你提到的书可能已经谈到了使用ng-class
和{{}}
类插值的问题,其中插值中的更新删除了ng-class
类,这个问题已经解决了,参考。因此,在类属性中使用插值是完全可以的,并且不会破坏良好的实践,因为两者都有自己的怪癖。
你对ng-class的使用是不正确的,你必须将字面字符串值与你的范围字符串变量连接起来:
<div class="float-left flag" ng-class="'i-flag-' + lang.prefix"></div>
,但我认为最好使用你的第一个例子:
<div class="float-left flag i-flag-{{lang.prefix}}"></div>
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 每个点击的项目上的“ng-class”
- 在所选元素的父元素上添加“ng-class”
- ng-class 在 angularJs 中由 ng-include 包含的文件内不起作用
- Angular ng-class没有更新
- ng-class not working properly in 'AngularJs'
- 如何访问Angular JS模板指令中设置的值,如“ng class?”
- 使用jQuery获取h4 class=“”的文本内容;ng结合”;超出Angular范围
- 如何在AngularJS中使用ng-class仅在特定页面上向元素添加类
- ng-class 的函数表达式在 ng-click 时被调用
- Angular ng-class 呈现正确的类,但 Karma 显示错误
- 使用 class、ng-show 和 ng-class 执行 AngularJS 动画
- Agularjs ng-class:如果其他条件变为真,则删除类
- ng-class 用于突出显示基于 ng 重复的活动菜单项.AngularJS.
- Angular js ng-class 不起作用
- ng-class $event.stopPropagation() 在 Angular 中对父级不起作用
- AngularJS ng-class JavaScript animations不会触发
- 如何使用 ng-class 在值计算结果为零时删除类
- 在 Angular JS 中使用 ng-class
- input永远不会从Angular获得ng-invalid-class