在 partial 标签中使用 handlebars 助手

Use a handlebars helper within a partial tag

我有一个 handlebars 助手,它允许我将字符串翻译成它们支持的语言环境:

{{getString "my-translatable-string"}}

function getString(id, args) {
  const supportedLocales = getSupportedLocales(args);
  return LocaleUtils.fluentFormat(supportedLocales, id, args.hash);
}

我想将该值传递给车把部分

{{> mypartial alt="{{getString "my-translatable-string"}}"}}

但这会引发错误。我如何pass/interpolate将“getString”的结果放入部分标签的alt参数中?

我看到两个问题:

首先,通过将 alt 的值括在引号中,看起来我们正试图将文字字符串作为 alt 参数的值传递给我们的部分。但是,我们想使用 Handlebars 表达式,因此应删除这些引号。

其次,Handlebars 不允许我们嵌套胡须。相反,Handlebars 将允许我们通过将子表达式括在括号中来使用 subexpressions

生成的模板变为:

{{> mypartial alt=(getString "my-translatable-string")}}

我创建了一个fiddle供您参考。