Có hai file nguyên cảo:Loại tài liệu tham khảo mà không đầy đủ namespace
A.ts:
export class Person {
public name:string;
constructor(){}
}
và
B.ts:
import A = module("A");
var p: A.Person;
Cho đến nay tất cả mọi thứ hoạt động tốt.
Tuy nhiên, khi tôi cố gắng để tạo ra một phím tắt cho tên loại được nhập khẩu từ các A.ts:
var Person = A.Person;
var pp: Person;
trình biên dịch phàn nàn (trên dòng: "var pp: Person"):
tên 'người' không tồn tại trong phạm vi hiện tại
Làm thế nào tôi có thể đạt được cú pháp này hoặc tương tự, để tránh các không gian tên dài?
Tôi không biết làm thế nào để đạt được những gì bạn đang cố gắng để làm, tuy nhiên vấn đề bạn nhận được với thông báo viết tắt của bạn là người không phải là một loại TypeScript nhưng một tham chiếu đến một lớp. Do đó thay vì viết 'var pp: Person;' bạn có thể sử dụng 'var pp = new Person(); ' – thomaux
Vì vậy, tôi có thể tạo một thể hiện của lớp nhưng tôi không thể khai báo một biến của lớp. Trình biên dịch sẽ có thể suy ra loại cho biến trong một trường hợp và không thể làm điều đó trong biến khác. Dường như với tôi một lỗi trong trình biên dịch. Dù sao ví dụ thứ hai ('var pp = new Person();') không hoạt động. Cảm ơn. – ads