2016-06-30 14 views
5

Mam komponent dla wielu filtrów z różnymi typami. Do rozpoznawania typów chcę używać wyliczenia z typami filtrów. Jak używać enum wewnątrz szablonu, gdy próbka poniżej nie działa?Angular 2 ng2 Jak używać enumu TypeScript w szablonie?

Pomyślałem, że powinien działać tylko importując wyliczenie wewnątrz komponentu, w którym chcę użyć tego wyliczenia.

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

i użyć go wewnątrz szablonu jak FilterType.INPUT_SELECT i FilterType.INPUT_TEXT ale does'nt pracę następnie użyłem zmienna, ale również does'nt praca.

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

Odpowiedz

8

Musisz przypisać wartość `checkType:

checkType: any = FilterType; 
+0

Typ„typeof FilterType”nie jest przypisane do typu„typu” –

+0

Niestety, Przypuszczałem odniesienie do wyliczenia byłoby typu 'Typ'. Nie znam TS zbyt dobrze Używam lokalnie Dart. Możesz użyć 'any'. "Obiekt" również powinien działać. –

+1

Działa, ale teraz widzę to w innym widoku, przekażę to wyliczenie jako parametr. Dzięki. –

Powiązane problemy