如何使用 Handlebars.js 将字段小写?

发布于 2024-12-29 06:35:44 字数 244 浏览 0 评论 0原文

我想做这样的事情:

{{user.name.toLowerCase()}}

但我收到此错误:

Error: Parse error on line X:
...tatus {{user.name.toLowerCase()}}">  
-----------------------^
Expecting 'ID', got 'undefined'

I want to do something like this:

{{user.name.toLowerCase()}}

but I get this error:

Error: Parse error on line X:
...tatus {{user.name.toLowerCase()}}">  
-----------------------^
Expecting 'ID', got 'undefined'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

故事和酒 2025-01-05 06:35:44

正如 doc 中简单解释的那样:

Handlebars.registerHelper('toLowerCase', function(str) {
  return str.toLowerCase();
});

然后像这样使用它:

<h1>By {{toLowerCase author}}</h1>

As simply explained in the doc :

Handlebars.registerHelper('toLowerCase', function(str) {
  return str.toLowerCase();
});

And just use it like this :

<h1>By {{toLowerCase author}}</h1>
淡莣 2025-01-05 06:35:44

如果您只是想在 HTML 中显示一些小写文本(无论它是否由车把生成),您可以使用 CSS 并应用 文本转换 像这样:

.css-class-here {
    text-transform: lowercase;
}

If you're just trying to display some text as lowercased in HTML (regardless of whether or not it's generated by handlebars), you can use CSS and apply text-transform like so:

.css-class-here {
    text-transform: lowercase;
}
二货你真萌 2025-01-05 06:35:44

我创建了以下助手,但我很好奇是否有更好的解决方案。

Handlebars.registerHelper('toLowerCase', function(value) {
    if(object) {
        return new Handlebars.SafeString(value.toLowerCase());
    } else {
        return '';
    }
});

I created the following helper, but I'm curious if there's a better solution out there.

Handlebars.registerHelper('toLowerCase', function(value) {
    if(object) {
        return new Handlebars.SafeString(value.toLowerCase());
    } else {
        return '';
    }
});
痴者 2025-01-05 06:35:44

检查并确保它是一个字符串也没有什么坏处,如果不是,则不返回任何内容。

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

Doesn't hurt to also check and make sure it is a string and if not return nothing.

Handlebars.registerHelper('lowercase', function (str) {
  if(str && typeof str === "string") {
    return str.toLowerCase();
  }
  return '';
});

Usage :

// now let's pass a string or variable to our helper
{{lowercase 'MY NAME IS'}}

Output :

my name is
一笑百媚生 2025-01-05 06:35:44

@Eric 之前的回答现在似乎不起作用,我的解决方案非常相似,但在新版本的车把中,助手的定义可能发生了一些变化:

Handlebars.registerHelper('tolower', function(options) {
    return options.fn(this).toLowerCase();
});

以及在模板

<img src="/media/images/modules/{{#tolower}}{{name}}{{/tolower}}.png"...

干杯中

Previous answer from @Eric seems not to work now, my solution is very similar, but probably the definition of helpers changed a little in new versions of handlebars:

Handlebars.registerHelper('tolower', function(options) {
    return options.fn(this).toLowerCase();
});

and in the template

<img src="/media/images/modules/{{#tolower}}{{name}}{{/tolower}}.png"...

Cheers

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文