我的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]指令不相关,但我也得到了相同的错误
无法读取未定义的属性“移除”
和我认为是错误在我的[ngClass]条件,但它原来是我试图访问的[ngClass]条件的属性没有初始化。
就像我的打字文件里有这个
element: {type: string};
和在我的[ngClass]我正在使用
[ngClass]="{'active', element.type === 'active'}"
我得到了错误
无法读取未定义的属性“类型”
解决办法就是把我的财产
element: {type: string} = {type: 'active'};
希望它能帮助那些试图匹配[ngClass]中属性条件的人
可以使用以下语法使类成为动态的。在Angular 2 plus中,你可以通过多种方式做到这一点:
[ngClass]="{'active': arrayData.length && arrayData[0]?.booleanProperty}"
[ngClass]="{'active': step}"
[ngClass]="step== 'step1'?'active':''"
[ngClass]="step? 'active' : ''"