Удалить пробел между словами в выражении руля - PullRequest
0 голосов
/ 29 сентября 2018

У меня есть выражение на руле, которое дает мне динамическую строку.Я хочу удалить пробел между буквами и использовать его в качестве идентификатора div.Я знаю, что могу сделать это с помощью JS.Но есть ли способ сделать это в шаблоне руля?

{{name}} дает мне «abc xyz», и я хочу строку «abcxyz».

1 Ответ

0 голосов
/ 29 сентября 2018

Что вы можете сделать, это зарегистрировать помощника самостоятельно и использовать его в своем шаблоне, чтобы заменить пробел в строке ничем.

В Handlebars.js есть функция 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"}}.

...