web-dev-qa-db-ja.com

Angular 2 ng2テンプレート内でTypeScript列挙型を使用する方法は?

異なるタイプの複数のフィルター用のコンポーネントがあります。タイプ認識には、フィルタータイプで列挙型を使用したいと思います。以下のサンプルが機能しない場合、テンプレート内で列挙型を使用するにはどうすればよいですか?

この列挙型を使用したいコンポーネント内の列挙型をインポートするだけで機能するはずだと思いました。

import { FilterType } from './types/FilterType';

そして、FilterType.INPUT_SELECTFilterType.INPUT_TEXTのようなテンプレート内で使用しますが、機能しないので、変数を使用しましたが、機能しません。

<div *ngFor='let filter of filters'>
  <select *ngIf='filter.type === checkType.INPUT_SELECT'>...</select>
  <input *ngIf='filter.type === checkType.INPUT_TEXT'></input>
</div>
...
export class FiltersComponent {
  checkType: FilterType;
  @Input() filters: any[];
}
...
export enum FilterType {
  INPUT_SELECT,
  INPUT_TEXT
}
11
Adam Michalski

`checkTypeに値を割り当てる必要があります:

checkType: FilterType = FilterType;
15