Как определить перечислимый тип в угловой, чтобы не нарушать правила определения типа tslint


Чтобы иметь возможность использовать перечисления в шаблоне, мы пишем ниже коды в файле ts.

В workflowProgress.ts

export enum WorkflowProgress
{
    cancelled = 0,
    inProgress,
    done
}

В компоненте.ts

export class Component {
   WorkflowProgress = WorkflowProgress;
   x : WorkflowProgress = WorkflowProgress.done;
}

В шаблоне.html

<div *ngIf="x === WorkflowProgress.done">

И у нас уже есть tslint с включенным правилом typedef. но цлинт ворчит по поводу этой строки WorkflowProgress = WorkflowProgress;

[tslint] ожидаемое объявление переменной-члена: 'WorkflowProgress', чтобы иметь typedef (typedef)

Я могу отключить правило, добавив // tslint:disable-next-line:typedef, но я был интересно, есть ли лучший способ сделать это?

1 2

1 ответ:

Вы можете использовать оператор typeof для "запроса" типа перечисления:

WorkflowProgress: typeof WorkflowProgress = WorkflowProgress