Tôi thiết lập không gian tên toàn cầu cho các đối tượng của mình bằng cách đặt rõ ràng một thuộc tính window
.
window.MyNamespace = window.MyNamespace || {};
TypeScript gạch chân MyNamespace
và phàn nàn rằng:
Thuộc tính 'MyNamespace' không tồn tại trên giá trị của loại 'cửa sổ' bất kỳ "
Tôi có thể làm cho mã hoạt động bằng cách khai báo MyNamespace
như một biến xung quanh và loại bỏ nhân chứng window
nhưng tôi không muốn làm điều đó.
declare var MyNamespace: any;
MyNamespace = MyNamespace || {};
Làm thế nào tôi có thể giữ window
trong đó và làm cho TypeScript hạnh phúc?
Là một lưu ý phụ, tôi thấy thật buồn cười khi TypeScript phàn nàn vì nó nói với tôi rằng đó window
là loại any
mà chắc chắn có thể chứa bất cứ thứ gì.