我写了两个帮助,即i18n
和toLowerCase
如下:
/*
* Returns lowercase of a string
*/
Handlebars.registerHelper('toLowerCase', function(value) {
if (value && typeof value === 'string') {
return value.toLowerCase();
} else {
return '';
}
});
我有一个字符串,应首先转换为小写,然后使用i18n helper进行本地化。这两个助手都可以正常工作。
这些线路工作正常。 (测试)
{{toLowerCase status }}
{{i18n status}}
但我想要这样的事情。我试过这个:
{{i18n {{toLowerCase status }} }}
但是这会引发语法错误 未捕获错误:第88行上的解析错误:
..div> {{ i18n {{toLowerCase stat
----------------------^
Expecting 'CLOSE', 'CLOSE_UNESCAPED', 'STRING', 'INTEGER', 'BOOLEAN', 'ID', 'DATA', 'SEP', got 'OPEN'
有什么建议吗?
答案 0 :(得分:2)
Handlesbars现在支持 Subexpressions ,所以您可以这样做:
{{i18n (toLowerCase status) }}
(注意,那些是 parens ()
,而不是大括号{}
,对于内部帮助者来说)
答案 1 :(得分:1)
您可以尝试使用https://github.com/mateusmaso/handlebars.nested(请注意,它只允许一个级别的嵌套)。据我所知,虽然你可以使用我在评论中链接的问题中的一些解决方法,但是对于Handlebars没有内置的支持。