我有一个车把表达式,它为我提供了一个动态字符串。我想删除字母之间的空白并将其用作div ID。我知道我可以使用JS做到这一点。但是在把手模板中有没有办法做到这一点?
{{name}}给我“ abc xyz”,我想要“ abcxyz”字符串。
答案 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' -->