gpt4 book ai didi

javascript - 有什么方法可以将一个辅助函数的返回值作为 Handlebars 中的参数传递给另一个辅助函数

转载 作者:行者123 更新时间:2023-11-28 03:08:42 25 4
gpt4 key购买 nike

我在使用 Handlebars.js 的当前项目中遇到了问题。我正在编写一个复杂的模板,它必须仅作为文本输出(它作为字符串直接馈送到文本打印机)并且该文本最多可以有 40 个字符宽。

我遇到的问题是我需要使用各种辅助函数来获取和组织我的数据,但我随后需要获取该文本并将其放入另一个函数以将其格式化为 40 个字符的宽度。

所以...我的辅助函数看起来有点像这样:

Handlebars.registerHelper('getLit' , function (litName) {
// some logic to retrieve a string lit in correct language
});

Handlebars.registerHelper('getArrayValue', function(array, key) {
return array[key];
});

Handlebars.registerHelper('textFormat', function(string, max_width, align) {
// logic to format the text
});

现在如果我的 htm 看起来像这样:

{{textFormat "This is a really long string that needs formating into the correcct length blah blah blah blah" 40 'left'}}

我没有问题。

但是我需要能够使用辅助函数来构建字符串,例如

{{textFormat {{getArrayValue address 0}} 40 'right'}}

我希望我的解释不会太复杂,显然我正在处理的数据非常大而且非常复杂,所以只需准备所有数据以输入模板(例如,而不是使用 getLit 在它们的每个字符串中制作 6 种形式各种语言)只是不切实际。

有什么方法可以让这项工作奏效,还是我需要使用完全不同的方法?

最佳答案

您不能使用嵌套的助手。如果您需要包含新的助手,请使用构造

{{#textformat 10 'right'}}
{{getArrayValue address 0}}
{{/textformat}}

您可以在此处找到有关构建 block 助手的更多信息:http://handlebarsjs.com/block_helpers.html

关于javascript - 有什么方法可以将一个辅助函数的返回值作为 Handlebars 中的参数传递给另一个辅助函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31520212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com