Html 带ngClass的角度2枚举

Html 带ngClass的角度2枚举,html,angular,enums,Html,Angular,Enums,您好,我正在尝试使用带有枚举的条件类。我以前在html中使用过Enum与ngSwitchCase一起使用,并且出现了与现在相同的错误。当我添加一个名为该enum的属性并将其分配给该enum时,它将起作用 工作示例: <ng-container *ngFor="let column of columns" [ngSwitch]="column.dataType"> <td *ngSwitchCase=

您好,我正在尝试使用带有枚举的条件类。我以前在html中使用过Enum与
ngSwitchCase
一起使用,并且出现了与现在相同的错误。当我添加一个名为该enum的属性并将其分配给该enum时,它将起作用

工作示例:

                    <ng-container *ngFor="let column of columns" [ngSwitch]="column.dataType">
                    <td *ngSwitchCase="DataType.Text">{{getPropertyValue(row,column.propertyName)}}</td>
                    <td *ngSwitchCase="DataType.Date">date</td>
                    <td *ngSwitchCase="DataType.Number">number</td>
                    <td *ngSwitchDefault>default</td>
                </ng-container>
            <span *ngClass="(column.sortType === SortType.Ascending)? 'privilege-grid-sortasc': (column.sortType === SortType.Descending)?'privilege-grid-sortdesc':'privilege-grid-sortnone'"></span> 
不工作:

                    <ng-container *ngFor="let column of columns" [ngSwitch]="column.dataType">
                    <td *ngSwitchCase="DataType.Text">{{getPropertyValue(row,column.propertyName)}}</td>
                    <td *ngSwitchCase="DataType.Date">date</td>
                    <td *ngSwitchCase="DataType.Number">number</td>
                    <td *ngSwitchDefault>default</td>
                </ng-container>
            <span *ngClass="(column.sortType === SortType.Ascending)? 'privilege-grid-sortasc': (column.sortType === SortType.Descending)?'privilege-grid-sortdesc':'privilege-grid-sortnone'"></span> 
错误消息:

                    <ng-container *ngFor="let column of columns" [ngSwitch]="column.dataType">
                    <td *ngSwitchCase="DataType.Text">{{getPropertyValue(row,column.propertyName)}}</td>
                    <td *ngSwitchCase="DataType.Date">date</td>
                    <td *ngSwitchCase="DataType.Number">number</td>
                    <td *ngSwitchDefault>default</td>
                </ng-container>
            <span *ngClass="(column.sortType === SortType.Ascending)? 'privilege-grid-sortasc': (column.sortType === SortType.Descending)?'privilege-grid-sortdesc':'privilege-grid-sortnone'"></span> 
无法读取未定义的属性“升序”


我想你的问题一定在别的地方。我使用带有枚举的[ngClass]绑定重新创建了您的场景,对我来说效果很好:

[ngClass] ="{'class-name': var === enum,...}"

第二种情况下的模板是否在单独的.html文件中,而不是在第一种情况下?我遇到了一些问题,模板文件无法读取组件文件中的私有变量。

我在这里找到了一个非常好的教程:

总之,语法是[ngClass]=“{'class-name':var==enum}”:

@组件({
选择器:“应用程序消息”,
模板:`
`
})
导出类MessageComponent实现OnInit{
@Input()type=MessageTypes.Default;
private messageTypes=messageTypes;//在这里声明非常重要
构造函数(){}
ngOnInit(){}
}

它位于单独的html文件中。问题是它是私有的。