我试图在组件和模板中使用我的Enum定义,
角版-7角材料-7
我定义了下面的枚举,
export enum Status {
NEW = 1,
IN_PROGRESS,
COMPLETED
}下面是简化的组件代码
// Component definitions ignored here
public statusOptions = Status;
public statusFilters: Map<Status, boolean> = new Map([
[Status.NEW, true],
[Status.IN_PROGRESS, true],
[Status.COMPLETED, false],
]);我正在尝试在我的模板中使用statusFilters地图,选中/未选中“角度材料”复选框,如下所示
<mat-checkbox
[(checked)]="statusFilters.get(statusOptions.NEW)"
(change)="onStatusChange(statusOptions.NEW, $event)"
[disabled]="isDisabled('new')"
>New</mat-checkbox>但是,它会抛出如下所示的解析错误

谁能让我知道我做错了什么,以及我如何正确地使用地图与材料复选框?
请让我知道如果你需要任何额外的细节,并原谅我张贴错误为屏幕截图,而不是文字,我无法从我的tmux+zsh终端安装复制。
发布于 2018-11-16 14:18:41
发出属性checked,这不是@output的mat-checkbox。这只是一种输入。因此,您应该从其中删除方括号( )。
<mat-checkbox
[checked]="statusFilters.get(statusOptions.NEW)"
(change)="onStatusChange(statusOptions.NEW, $event)"
[disabled]="isDisabled('new')"
>New</mat-checkbox>请参阅此api - https://material.angular.io/components/checkbox/api
工作副本在这里- https://stackblitz.com/edit/material-design-angular-checkbox-wqgvqg
发布于 2018-11-16 14:22:49
您正在寻找文本而不是整数。
public statusFilters: Map<Status, boolean> = new Map([
[Status[Status.NEW], true],
[Status[Status.IN_PROGRESS], true],
[Status[Status.COMPLETED], false],
]);https://stackoverflow.com/questions/53339457
复制相似问题