2012-11-28 40 views
6
export class Entity { 
    add(component: Component, componentClass?: { new(): Component;}): Entity { 
     if (!componentClass) { 
      componentClass = component.constructor 
     } 

     /** sniiiiip **/ 
    } 
} 

Dòng 4 của ví dụ (gán component.constructor) gây ra trình biên dịch để phàn nàn rằng:Truy cập .constructor của lớp được định nghĩa trong nguyên cảo

Thuộc tính 'constructor' không tồn tại trên giá trị của loại 'Thành phần'

Cách thích hợp để tham chiếu đến một hàm tạo đối tượng là gì? Sự hiểu biết của tôi là tất cả các đối tượng trong JavaScript đều có thuộc tính .constructor trỏ đến hàm tạo được dùng để tạo đối tượng đó ...

Trả lời

5

Điều này hiếm khi nhập mã mà không được bao gồm theo định nghĩa Object. Bạn có thể chỉ cần truyền tới any thay thế:

componentClass = (<any>component).constructor; 
Các vấn đề liên quan