我的Angular代码出了什么问题?我得到以下错误:
无法读取BrowserDomAdapter.removeClass中未定义的属性“remove”
<ol>
<li *ngClass="{active: step==='step1'}" (click)="step='step1'">Step1</li>
<li *ngClass="{active: step==='step2'}" (click)="step='step2'">Step2</li>
<li *ngClass="{active: step==='step3'}" (click)="step='step3'">Step3</li>
</ol>
如果用户想显示基于&&和||的类
下面是我的工作
[ngClass]="{'clasname_1': condition_1 && condition_2, 'classname_2': condition_1 && condition2, 'classname_3': condition}"
例子:
[ngClass]="{'approval-panel-mat-drawer-side-left': similar_toil_mode==='side' && showsTheSimilarToilsWithCloseIcon, 'approval-panel-mat-drawer-side-right': similar_toil_mode==='side' && !showsTheSimilarToilsWithCloseIcon, 'approval-panel-mat-drawer-over': similar_toil_mode==='over'}"
你可以使用ngClass有条件地应用类名,也可以不在Angular中应用
例如
[ngClass]="'someClass'">
有条件的
[ngClass]="{'someClass': property1.isValid}">
多个条件
[ngClass]="{'someClass': property1.isValid && property2.isValid}">
方法表达
[ngClass]="getSomeClass()"
该方法将在组件内部
getSomeClass(){
const isValid=this.property1 && this.property2;
return {someClass1:isValid , someClass2:isValid};
}
可以使用以下语法使类成为动态的。在Angular 2 plus中,你可以通过多种方式做到这一点:
[ngClass]="{'active': arrayData.length && arrayData[0]?.booleanProperty}"
[ngClass]="{'active': step}"
[ngClass]="step== 'step1'?'active':''"
[ngClass]="step? 'active' : ''"
与[ngClass]指令不相关,但我也得到了相同的错误
无法读取未定义的属性“移除”
和我认为是错误在我的[ngClass]条件,但它原来是我试图访问的[ngClass]条件的属性没有初始化。
就像我的打字文件里有这个
element: {type: string};
和在我的[ngClass]我正在使用
[ngClass]="{'active', element.type === 'active'}"
我得到了错误
无法读取未定义的属性“类型”
解决办法就是把我的财产
element: {type: string} = {type: 'active'};
希望它能帮助那些试图匹配[ngClass]中属性条件的人
[ngClass] =…而不是*ngClass。
*仅用于结构型指令的简写语法,例如可以使用
<div *ngFor="let item of items">{{item}}</div>
而不是较长的同等版本
<template ngFor let-item [ngForOf]="items">
<div>{{item}}</div>
</template>
参见https://angular.io/docs/ts/latest/api/common/index/NgClass-directive.html
<some-element [ngClass]="'first second'">
<某个元素[ngClass] = "(“第一次”,“二”)" >…< /某个元素>
<某个元素[ngClass] = "{“第一”:真的,“二”:真的,“第三”:假}" >…< /某个元素>
<某个元素[ngClass] = " stringExp | arrayExp | objExp " >…< /某个元素>
<some-element [ngClass]="{'class1 class2 class3': true}">
参见https://angular.io/docs/ts/latest/guide/template-syntax.html
<!——用属性>开启/关闭“特殊”类
< div[类。</div> . special]="isSpecial">类绑定是特殊的
<!——绑定到class。Special '胜过类属性——>
< div class = "特殊的“
[class.special] = " !isSpecial">这个没有那么特别</div>
<!——用绑定重置/覆盖所有类名——> .使用实例
<div class="bad curly special"
(类)= " badCurly " >坏花< / div >