Adam Michalski
Adam Michalski

Reputation: 1792

Angular 2 ng2 How to use TypeScript enum inside template?

I have component for multiple filters with different types. For type recognition I want to use enum with filter types. How to use enum inside template when sample below does'nt work?

I thought it should work by only importing enum inside component where I want to use this enum.

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

And use it inside template like FilterType.INPUT_SELECT and FilterType.INPUT_TEXT but it does'nt work then I used variable but it also does'nt work.

<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
}

Upvotes: 11

Views: 9329

Answers (1)

G&#252;nter Z&#246;chbauer
G&#252;nter Z&#246;chbauer

Reputation: 657506

You need to assign a value to `checkType:

checkType: FilterType = FilterType;

Upvotes: 15

Related Questions