删除车把表达式中单词之间的空白

时间:2018-09-29 15:52:37

标签: handlebars.js removing-whitespace

我有一个车把表达式,它为我提供了一个动态字符串。我想删除字母之间的空白并将其用作div ID。我知道我可以使用JS做到这一点。但是在把手模板中有没有办法做到这一点?

{{name}}给我“ abc xyz”,我想要“ abcxyz”字符串。

2 个答案:

答案 0 :(得分:0)

您可以做的是自己注册一个助手,然后在模板中使用它来替换字符串中的空白。

Handlebars.js has a function registerHelper(String, Function),您将看到一个字符串(您的助手的名称)和一个函数,该函数将返回您的助手的结果。

例如,如果我们想要一个帮助函数,在给定的字符串中将“ Facebook”替换为“ Google”,您可以执行类似的操作。

Handlebars.registerHelper('replace', function(string) {
    return string.replace('Facebook', 'Google');
});

在模板中,我们将像{{replace "Hello, Facebook!"}}一样调用它,并返回Hello, Google!

在使用多功能函数的情况下(显然应该是这种情况,而不是我给出的示例),您将传递字符串以调用替换,替换的字符串以及应替换的字符串。

Handlebars.registerHelper('replace', function(string, search, replace) {
    return string.replace(search, replace);
});

与之前使用{{replace "Hello, Facebook!" "Facebook" "Google"}}在模板中调用它的方式相同。

答案 1 :(得分:0)

如果要避免编写自己的助手。您可以使用以下模块:https://github.com/helpers/handlebars-helpers

只需安装

npm install --save handlebars-helpers

您很高兴,您可以使用以下帮助程序解决问题:

{{replace name " " ""}}

这是另一个用法示例:

{{replace "a b a b a b" "a" "z"}}
<!-- results in:  'z b z b z b' -->