Angular 2 [attr.class] 覆盖原生 DOM 类
Angular 2 [attr.class] overwrites native DOM classes
我有一个变量保存我的类名字符串:
classNameB = "class-B";
我想通过[attr.class]
将这个类名添加到本机 DOM 元素中:
<div class="class-A" [attr.class]='classNameB'></div>
然后,角度覆盖当前的DOM类class-A
。创建元素后留下的内容如下:
<div class="class-B"></div>
我在这里做错了什么以及如何解决这个问题?
PS:我可以改用[ngClass]
吗?
所以我经历了一些有趣的情况,我几乎没有选择。大多数时候,我使用[ngClass]
,直到:
<div class='native-class' [ngClass]='classNameHolder' [ngClass]='{"some-class": isSomeClass}'>
哪里
classNameHolder: string = 'class-name-1';
isSomeClass: boolean = true;
我被困住了,直到我发现ngClass
的用法很好:
<div class='native-class' ngClass='{{classNameHolder}} {{isSomeClass ? "some-class" : ""}}></div>
仅此而已。这是我从那时起一直在使用的最后一个选项。希望如果有人遇到相同的座位会有所帮助。
[attr.class]='classNameB'
这里的类名B应该是附加$scope变量。 它可以是表达式或值。您也可以像这样修改代码
[attr.class]='{{getClassName()}}'
对于 ng 类属性,它对两者的工作方式相同。或者你可以在布尔的基础上有一个类
[attr.class]="'ifThis'?'classNameB':'classNameA'"
或
ng-class="varA==0 ?'classNameB':'classNameA'"
相关文章:
- 在循环中分配json值时,值被覆盖
- 谷歌地图固定位置覆盖
- 只覆盖箭头键滚动事件
- JQuery覆盖不更改单选选项
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 将添加一个相同类型的事件附加或覆盖以前添加的具有相同名称的事件
- 传单中如何在更改基层时启用/禁用覆盖层
- js代码从jQuery转换为原生代码
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- HTML/CSS-用于拖放的全页面覆盖
- 让javascript知道epub3电子书中何时播放媒体覆盖
- 覆盖函数中的函数
- 无法覆盖CSS伪元素:before
- 如何覆盖原型中的事件侦听器
- 覆盖在赢得'不允许点击下面的标记,谷歌地图api v3
- javascript原生原型:扩展、添加和覆盖方法
- React原生路由器flux:覆盖组件内部的左键或右键,并访问本地功能
- FireFox插件:如何覆盖原生js函数
- Sencha应用程序构建原生覆盖我们的自定义代码
- Angular 2 [attr.class] 覆盖原生 DOM 类