2016-06-30 15 views
5

मेरे पास विभिन्न प्रकार के फ़िल्टर के साथ कई प्रकार के घटक हैं। टाइप पहचान के लिए मैं फिल्टर प्रकारों के साथ enum का उपयोग करना चाहता हूँ। टेम्पलेट के अंदर enum का उपयोग कैसे करें जब नीचे नमूना काम नहीं करता है?कोणीय 2 एनजी 2 टेम्पलेट के अंदर टाइपस्क्रिप्ट एनम का उपयोग कैसे करें?

मैंने सोचा कि इसे केवल घटक के अंदर enum आयात करके काम करना चाहिए जहां मैं इस enum का उपयोग करना चाहता हूँ।

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

और FilterType.INPUT_SELECT और FilterType.INPUT_TEXT तरह टेम्पलेट के अंदर इसका इस्तेमाल, लेकिन यह काम does'nt तो मैं चर लेकिन यह भी does'nt काम किया करते थे।

<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 FilterType' टाइप करने के लिए 'टाइप' –

+0

क्षमा करें, मैं मान लिया है एक enum के लिए एक संदर्भ प्रकार की होगी आबंटित नहीं है 'Type'। मैं टीएस को बहुत अच्छी तरह से नहीं जानता मैं केवल स्थानीय रूप से डार्ट का उपयोग करता हूं। आप 'किसी भी' का उपयोग कर सकते हैं। 'ऑब्जेक्ट' को भी काम करना चाहिए। –

+1

यह काम करता है लेकिन अब मैं इसे अलग-अलग दृश्य में देखता हूं, मैं इस enum को पैरामीटर के रूप में पास कर दूंगा। धन्यवाद। –

संबंधित मुद्दे