我的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有条件地应用类名,也可以不在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};
}
与[ngClass]指令不相关,但我也得到了相同的错误
无法读取未定义的属性“移除”
和我认为是错误在我的[ngClass]条件,但它原来是我试图访问的[ngClass]条件的属性没有初始化。
就像我的打字文件里有这个
element: {type: string};
和在我的[ngClass]我正在使用
[ngClass]="{'active', element.type === 'active'}"
我得到了错误
无法读取未定义的属性“类型”
解决办法就是把我的财产
element: {type: string} = {type: 'active'};
希望它能帮助那些试图匹配[ngClass]中属性条件的人