Tôi đang cố gắng tạo tệp định nghĩa cho Handlebars, để sử dụng với các tập lệnh thanh tác vụ được biên dịch trước. Handlebars sẽ đưa các kịch bản được biên dịch trước vào một bảng băm được lập chỉ mục các hàm, nhưng tôi không thể tìm ra hoặc tìm ra cách xác định điều này.TypeScript Xác định bảng băm chức năng
Một định nghĩa giả sẽ là:
declare module Handlebars {
export var templates: { (model:any) => string; }[index: string];
}
nhưng đó không phải là một định nghĩa hợp lệ. Định nghĩa nên làm việc cho một cuộc gọi như thế này:
var myHtml = Handlebars.templates["person-template"]({FNmae: "Eric"});
Một định nghĩa như thế này là gần:
export var templates: { (model:any) => string; }[];
Nhưng đó là một mảng với một số chỉ số, và nó không phải là điều tương tự, và VS Intellisense chỉ quyết định rằng các hàm trong mảng là bất kỳ nào.
Tôi nghĩ bạn muốn viết: '{(model.any): string; } [] '(sử dụng dấu hai chấm thay vì mũi tên' => ') – dcstraw