Đây là đề xuất của tôi. Tôi nghĩ rằng những gì bạn muốn làm là xác định một mô-đun mở rộng trên một số tập tin nguồn. Để đạt được điều này, bạn cần phải sử dụng một nội mô-đun như sau:
Models/Person.ts
module Model {
export class Person {
name: string;
Message : Message;
constructor(name: string) {
this.name = name;
}
}
}
Models/Message.ts
module Model {
export class Message {
message: string;
constructor(message: string) {
this.message = message;
}
}
}
App .ts
///<reference path='Models/Person.ts'/>
///<reference path='Models/Message.ts'/>
module MyAppNamespace {
export class ChatApp {
User: Model.Person;
constructor() => {
this.User = new Model.Person("John");
this.User.Message = new Model.Message("Hello World");
}
}
}
Nếu bạn biên dịch này với
tsc App.ts
sau đó tất cả mọi thứ nên làm việc. Lưu ý cách mô-đun outer
được khai báo trong hai tệp nguồn. Vì đây là mô-đun nội bộ, chúng tôi phải yêu cầu trình biên dịch đưa chúng vào phạm vi của chúng tôi bằng cách thêm câu lệnh ///<reference path='foo.ts'/>
.
Hoạt động tốt trong Visual studio. Có thể chỉ nhập một trong các tệp này không? Trong VS bạn thường sử dụng /// . Điều này có khả thi không? Ví dụ: ? –
Anders
Để tham khảo trong tương lai, điều này là có thể. Vì vậy, bạn có thể tạo một tệp "allModels.ts" chứa /// refs. – Anders
tại sao lưu trữ Người và Thư trong các tệp riêng biệt? Tôi có thể có một tệp Model.ts chỉ với các định nghĩa lớp mà không bị gói trong một mô-đun không? Nếu vậy làm thế nào tôi sẽ nhập khẩu các định nghĩa trong App.ts .. – FutuToad