我试图理解 Handlebars helpers 的论点如何来吧。
我了解所调用的实际函数,但不了解如何为其提供所需的参数。
示例 1 - 内置 Helper:
Handlebars.registerHelper("if", function(conditional, options) {
if (conditional) {
return options.fn(this);
} else {
return options.inverse(this);
}
});
通过调用
{{#if blockExists}}
//blalba
{{/if}}
什么是条件
和选项
以及它们如何实际解析为函数?
示例 2 - 自定义助手:
Handlebars.registerHelper('concat', (str1, str2, separator) => {
return `${str1 || ''}${separator || ''}${str2 || ''}`;
});
这个 Helper 是怎么称呼的?参数是如何解析的?由于返回值不是 true
或 false
,如何使用它?
感谢任何帮助。
最佳答案
文档:Helpers with Multiple Parameters
您的 hbs 文件:
{{concat "str1" "str2" "separetor"}}
第一个参数是助手的名称,其他参数是参数
你的 helper :
Handlebars.registerHelper('concat', (str1, str2, separator) => {
return `${str1 || ''}${separator || ''}${str2 || ''}`;
});
{{expression}} 返回的值可以是字符串,您应该使用 return new Handlebars.SafeString(result); 传递它
关于javascript - Handlebars 自定义 Helper 参数如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59946774/