2016-06-30 48 views
5

我有用於不同類型的多個過濾器的組件。 對於類型識別,我想使用帶濾鏡類型的枚舉。 如何在下面的示例中使用枚舉模板內部不起作用?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 
} 

回答

8

您需要的值賦給`checkType:

checkType: any = FilterType; 
+0

類型「的typeof過濾式」是不能分配給鍵入「類型」 –

+0

對不起,我認爲一個枚舉的引用將是類型'Type'。我不太瞭解TS,我只在本地使用Dart。你可以使用'any'。 「對象」也應該可以工作。 –

+1

它的作品,但現在我看到它在不同的視圖,我會通過這個枚舉作爲參數。謝謝。 –