2015-07-28 13 views
7

यह मेरे हिस्से से एक गलतफहमी हो सकती है। टाइपस्क्रिप्ट 1.4 में हम आयात कक्षाओं को निर्यात करने के लिए उपयोग करते हैं, लेकिन जब मैंने टाइपस्क्रिप्ट 1.5 में अपना कोड अपडेट किया तो व्यवहार बदल गया।टाइपस्क्रिप्ट 1.5 कक्षाओं का निर्यात/आयात

import AbstractForm from '../components/AbstractForm'; 
export default class LanguageForm extends AbstractForm { 
    buildPanel(){ 

    } 
} 

Whith TS1.4 मैं:

यहाँ कैसे यह टीएस 1.5 में टीएस 1,4

LanguageForm.ts

import AbstractForm = require('../components/AbstractForm'); 

class LanguageForm extends AbstractForm { 
    buildPanel(){ 

    } 
} 
export = LanguageForm; 

मेरी समझ से में काम किया syntaxt को संशोधित करने की जरूरत है गतिशील सेटिंग में काम करने के लिए बस new पर कॉल कर सकते हैं:

require(["LanguageForm"], (Form) => { 
    new Form() 
}); 

अब टीएस 1.5 में मैं क्या करने की जरूरत:

require(["LanguageForm"], (Form) => { 
    new Form.default() 
}); 

मेरा प्रश्न सभी उदाहरण में मैंने पाया प्रलेखन मॉड्यूल आयात करने/निर्यात किया गया था। क्या कक्षाओं को निर्यात/आयात करने का तरीका है? क्या मैं .default से छुटकारा पा सकता हूं?

+0

[आयात के लिए प्रलेखन] (https://github.com/Microsoft/TypeScript-Handbook/blob/master/pages/Namespaces%20and%20Modules .md) –

उत्तर

10

सभी उदाहरणों में मैंने पाया कि दस्तावेज मॉड्यूल निर्यात/आयात कर रहा था। कि जिस तरह से/आयात कक्षाएं

export = का प्रयोग न करें निर्यात करने के लिए है। इसके बजाय निर्यात:

export class LanguageForm extends AbstractForm { 
    buildPanel(){ 

    } 
} 

और आयात:

import {LanguageForm} from '../components/LanguageForm'; 
+0

क्या आप आयात विवरण को कक्षा के बाहर या बाहर रखते हैं? – Kokodoko

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