Eri*_*Red 37 javascript handlebars.js
我想做这样的事情:
{{user.name.toLowerCase()}}
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
Error: Parse error on line X:
...tatus {{user.name.toLowerCase()}}">
-----------------------^
Expecting 'ID', got 'undefined'
Run Code Online (Sandbox Code Playgroud)
Cyr*_* N. 68
正如在文档中简单解释的那样:
Handlebars.registerHelper('toLowerCase', function(str) {
return str.toLowerCase();
});
Run Code Online (Sandbox Code Playgroud)
只需像这样使用它:
<h1>By {{toLowerCase author}}</h1>
Run Code Online (Sandbox Code Playgroud)
sen*_*row 22
如果你只是试图在HTML中显示一些小写的文本(无论它是否由把手生成),你可以使用CSS并应用文本转换,如下所示:
.css-class-here {
text-transform: lowercase;
}
Run Code Online (Sandbox Code Playgroud)
Eri*_*Red 13
我创建了以下帮助器,但我很好奇是否有更好的解决方案.
Handlebars.registerHelper('toLowerCase', function(value) {
if(object) {
return new Handlebars.SafeString(value.toLowerCase());
} else {
return '';
}
});
Run Code Online (Sandbox Code Playgroud)
来自@Eric的先前答案似乎现在不起作用,我的解决方案非常相似,但可能在新版本的把手中助手的定义有所改变:
Handlebars.registerHelper('tolower', function(options) {
return options.fn(this).toLowerCase();
});
Run Code Online (Sandbox Code Playgroud)
并在模板中
<img src="/media/images/modules/{{#tolower}}{{name}}{{/tolower}}.png"...
Run Code Online (Sandbox Code Playgroud)
干杯
小智 7
并检查并确保它是一个字符串,如果没有返回任何内容也没有关系。
Handlebars.registerHelper('lowercase', function (str) {
if(str && typeof str === "string") {
return str.toLowerCase();
}
return '';
});
Run Code Online (Sandbox Code Playgroud)
用法:
// now let's pass a string or variable to our helper
{{lowercase 'MY NAME IS'}}
Run Code Online (Sandbox Code Playgroud)
输出:
my name is
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28772 次 |
| 最近记录: |