2016-07-24 25 views
10

आयात करने के लिए कैसे मैंने एक enum बनाया है, लेकिन मुझे VS15 में enum आयात करने और उपयोग करने में समस्या हो रही है।एनम

enum EntityStatus { 
    New = 0, 
    Active = 1, 
    Archived = 2, 
    Trashed = 3, 
    Deleted = 4 
} 

दृश्य स्टूडियो भी आयात किए बिना इस enum देखता है और इसलिए एक संकलन समय त्रुटि नहीं देता:

इस enum जो enums.ts में निहित है है। लेकिन क्रम में, एक त्रुटि

Cannot read property 'Archived' of undefined. 

फेंक दिया जाता है तो अब मैं इसे आयात करने के लिए है कि मैं अन्य वर्गों आयात का प्रयास करें:

import {EntityStatus} from "../../core/enums"; 

दृश्य स्टूडियो अब एक संकलन समय त्रुटि देता है:

"...enums is not a module ..." 

तो मैं enum कैसे आयात करूं?

उत्तर

15

मैं निर्यात कीवर्ड याद आ रही थी:

export enum EntityStatus { 
     New = 0, 
     Active = 1, 
     Archived = 2, 
     Trashed = 3, 
     Deleted = 4 
} 

तो यह काम अपेक्षा के अनुरूप।

10

कृपया इसे आज़माएं।

import {Category} from './enums' 
4
ही Cannot read property 'Foo' of undefined. रनटाइम त्रुटि

आप मिल जाएगा जब आप का क्या: यह मेरे

enums.ts

export enum Category {Cricket,Tennis,Golf,Badminton} 

और जिस तरह की तरह आवश्यक .ts फ़ाइल आयात में नीचे दिए गए के लिए काम करता टाइपमस्क्रिप्ट घोषणा फाइलों में से एक में अपने एनम को परिभाषित करें (*.d.ts) क्योंकि ये फ़ाइलें जावास्क्रिप्ट में नहीं आती हैं।

नमूना ऐप के साथ अधिक जानकारी here मिल सकती है।

+0

मुझे नहीं लगता कि एक * डीडी एक एनम को परिभाषित करने के लिए एक अच्छी जगह होगी। –

+1

ठीक है, मैं न तो। खासतौर से उस समय के बाद बर्बाद हो गया जब मेरा enum परिभाषित नहीं किया गया है :) – luk355