[英]How do I lowercase a field using Handlebars.js?
我想做這樣的事情:
{{user.name.toLowerCase()}}
但我得到這個錯誤:
Error: Parse error on line X:
...tatus {{user.name.toLowerCase()}}">
-----------------------^
Expecting 'ID', got 'undefined'
正如在文檔中簡單解釋的那樣:
Handlebars.registerHelper('toLowerCase', function(str) {
return str.toLowerCase();
});
只需像這樣使用它:
<h1>By {{toLowerCase author}}</h1>
如果你只是試圖在HTML中顯示一些小寫的文本(無論它是否由把手生成),你可以使用CSS並應用文本轉換,如下所示:
.css-class-here {
text-transform: lowercase;
}
我創建了以下幫助器,但我很好奇是否有更好的解決方案。
Handlebars.registerHelper('toLowerCase', function(value) {
if(object) {
return new Handlebars.SafeString(value.toLowerCase());
} else {
return '';
}
});
來自@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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.