我如何将表达式添加到车把部分参数

How can i add expressions to handlebars partials parameters

如何向分音参数添加表达式?我想做这样的事情:

{{> myPartial greeting=(i18n.greeting + "my text") }}

Handlebars 文档有一个 section on subexpressions。它告诉我们将内部助手的结果作为参数传递给外部助手的方法如下:

{{> myPartial greeting=(i18n 'greeting') }}

但是,从您的问题看来,您可能正在尝试将一些字符串值连接成一个 greeting 部分参数。如果是这种情况,您将需要创建(或导入)一个帮助程序来为您连接字符串,然后将此帮助程序用作另一个子表达式。结果如下所示:

{{> myPartial greeting=(concat (i18n greeting) 'my text') }}

所需的助手可以按如下方式完成:

Handlebars.registerHelper('concat', function () {
    return Array.prototype.slice.call(arguments, 0, -1).join('');
});

这取决于您如何使用 nodeJS 配置服务器选项 我在 res.locals(版本超过 4.0)中配置了带有“__”表达式的函数,因此在示例中看起来像这样

{{> myPartial greeting=(i18n 'greeting')}}

您在语言环境中的 JSON 文件应该有这个密钥,它会很神奇...

顺便说一句,用任何字符串连接你的密钥应该是这样的

{{> myPartial greeting=(i18n 'Hello %s', 'Marcus')}}

我希望你觉得这有用..