我的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]中属性条件的人
[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 >