Tôi đang tạo một trình trợ giúp để xuất 7 hoặc 8 dòng HTML để làm sạch các mẫu của tôi (và tuân theo DRY - hey có vần - wikka wikka).Handlebars helper trong requireJS
Dưới đây là một ví dụ về cách gọi helper addon
{{#each promotion.CampaignColors}}
{{{addOn . CampaignColorType.Code CampaignColorType.Name HexColor "some content" "a title"}}}
{{/each}}
Bây giờ, từ những gì tôi hiểu, tất cả mọi thứ sau khi bối cảnh phải là một băm gọi là tùy chọn. Đây là một phần của addOn.js của tôi
define([
'handlebars',
'hbs!templates/addOn',
], function (Handlebars, AddOnTemplate) {
function addOn(context, options) {
var data = {};
var compiledTemplate = AddOnTemplate(data);
console.log(compiledTemplate);
return compiledTemplate;
}
Handlebars.registerHelper('addOn', addOn);
return new Handlebars.SafeString(addOn);
});
Tuy nhiên, các tùy chọn chỉ được đặt cho tham số đầu tiên của tôi được chuyển. Nếu tôi thay đổi chữ ký phương thức của mình thành:
function addOn(context, key, displayName, value, content, title, test, options) {
...
}
.. mỗi giá trị của tôi đang được đặt và tùy chọn BÂY GIỜ trở thành đối tượng có băm rỗng.
Khai báo các tham số hoạt động rõ ràng, nhưng tôi muốn sử dụng hàm băm nhiều hơn. Bất kỳ suy nghĩ về cách làm điều này?
Tôi thậm chí đã đọc tài liệu mà và tôi đã bỏ lỡ nó. Cảm ơn bạn đời. –