【问题标题】:How to use multiple helpers in handlebars如何在车把中使用多个助手
【发布时间】:2013-08-13 18:25:27
【问题描述】:

我写了两个助手,即i18ntoLowerCase,如下:

/*
* Returns lowercase of a string
*/
Handlebars.registerHelper('toLowerCase', function(value) {
  if (value && typeof value === 'string') {
    return value.toLowerCase();
  } else {
    return '';
  }
});

我有一个字符串,它应该首先转换为小写,然后应该使用 i18n 助手进行本地化。这两个助手都可以正常工作/运行。

这些行运行良好。 (已测试)

{{toLowerCase status }}
{{i18n status}}

但我想要这样的东西。我试过这个:

{{i18n {{toLowerCase status }} }}

但这会引发语法错误 未捕获的错误:第 88 行的解析错误:

..div>      {{ i18n  {{toLowerCase stat
----------------------^
Expecting 'CLOSE', 'CLOSE_UNESCAPED', 'STRING', 'INTEGER', 'BOOLEAN', 'ID', 'DATA', 'SEP', got 'OPEN' 

有什么建议吗?

【问题讨论】:

标签: nested handlebars.js helpers


【解决方案1】:

Handlesbars 现在支持 Subexpressions,所以你可以这样做:

{{i18n (toLowerCase status) }}

(注意,那些是 parens (),而不是花括号 {},用于内部助手)

【讨论】:

    【解决方案2】:

    您可以尝试使用https://github.com/mateusmaso/handlebars.nested(但请注意,它只允许一级嵌套)。据我所知,Handlebars 对此没有内置支持,但您可以使用我在 cmets 中链接的问题中的一些解决方法。

    【讨论】:

      猜你喜欢
      • 2019-01-05
      • 2012-09-15
      • 2013-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-02
      相关资源
      最近更新 更多