私はこのようなことをしたい:
{{user.name.toLowerCase()}}
しかし、私はこのエラーを受け取ります:
Error: Parse error on line X:
...tatus {{user.name.toLowerCase()}}">
-----------------------^
Expecting 'ID', got 'undefined'
次のヘルパーを作成しましたが、もっと良い解決策があるかどうか興味があります。
Handlebars.registerHelper('toLowerCase', function(value) {
if(object) {
return new Handlebars.SafeString(value.toLowerCase());
} else {
return '';
}
});
doc で簡単に説明したように:
Handlebars.registerHelper('toLowerCase', function(str) {
return str.toLowerCase();
});
そして、これを次のように使用します。
<h1>By {{toLowerCase author}}</h1>
HTMLで小文字としてテキストを表示しようとする場合(ハンドルバーによって生成されるかどうかに関係なく)、CSSを使用して text-transform を次のように適用できます。
.css-class-here {
text-transform: lowercase;
}
@Ericからの以前の回答は今は機能していないようです。私のソリューションは非常に似ていますが、おそらく新しいバージョンのハンドルバーではヘルパーの定義が少し変更されました。
Handlebars.registerHelper('tolower', function(options) {
return options.fn(this).toLowerCase();
});
およびテンプレート内
<img src="/media/images/modules/{{#tolower}}{{name}}{{/tolower}}.png"...
乾杯
また、文字列であることを確認して確認しても問題はありません。
Handlebars.registerHelper('lowercase', function (str) {
if(str && typeof str === "string") {
return str.toLowerCase();
}
return '';
});
使用法 :
// now let's pass a string or variable to our helper
{{lowercase 'MY NAME IS'}}
出力:
my name is