如何在车把部分参数中添加表达式

时间:2016-06-21 20:52:39

标签: javascript handlebars.js expression partials

如何在partials参数中添加表达式?我想做那样的事情:

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

2 个答案:

答案 0 :(得分:1)

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('');
});

答案 1 :(得分:0)

这取决于您如何使用nodeJS配置服务器选项 我使用'__'表达式在res.locals(Version Express Over 4.0)中配置了函数,因此在示例中看起来像这样

<强> {{&GT; myPartial greeting =(i18n'wacking')}}

您在区域设置中的JSON文件应该具有此密钥并且它是神奇的......

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

<强> {{&GT; myPartial greeting =(i18n'Hello%s','Marcus')}}

我希望你觉得这很有用..