2015-07-28 18 views
7

Nó có thể là một sự hiểu lầm từ phía tôi. Trong Typecript 1.4 chúng tôi sử dụng để xuất khẩu các lớp nhập khẩu, nhưng khi tôi cập nhật mã của tôi thành bản ghi 1.5, hành vi đã thay đổi.Typescript 1.5 xuất/nhập các lớp

Sau đây là cách nó hoạt động trong TS 1,4

LanguageForm.ts

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

class LanguageForm extends AbstractForm { 
    buildPanel(){ 

    } 
} 
export = LanguageForm; 

Từ sự hiểu biết của tôi trong TS 1.5 syntaxt cần phải được sửa đổi để:

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

    } 
} 

Whith TS1.4 tôi chỉ cần thực hiện cuộc gọi trên new để điện thoại hoạt động trong cài đặt động:

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

bây giờ trong TS 1.5 Tôi cần phải làm:

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

Câu hỏi của tôi Trong tất cả các ví dụ tôi tìm thấy các tài liệu đã được xuất khẩu/nhập khẩu mô-đun. Đó có phải là cách để xuất/nhập các lớp học không? Tôi có thể loại bỏ các .default?

+0

[Tài liệu cho hàng nhập khẩu] (https://github.com/Microsoft/TypeScript-Handbook/blob/master/pages/Namespaces%20and%20Modules .md) –

Trả lời

10

Trong tất cả ví dụ tôi thấy tài liệu đã xuất/nhập mô-đun. Đó có phải là cách để xuất/nhập các lớp học

Không sử dụng export =. Thay vì xuất khẩu:

export class LanguageForm extends AbstractForm { 
    buildPanel(){ 

    } 
} 

Và nhập khẩu:

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

Bạn có đặt câu lệnh nhập trong lớp hay bên ngoài không? – Kokodoko

Các vấn đề liên quan