javascript - Handlebars 助手和 .toLocaleString

标签 javascript node.js express handlebars.js

我在 Handlebars 中显示 json 结果,包括我想使用 .toLocaleString() 格式化的数字。 我的 json 示例:

[{"id": "1",
 "results": [{
     "price": 5000
      },
      {
     "price": 6000
  }]
  },
  {"id": "2",
 "results": [{
     "price": 15000
      },
      {
     "price": 16000
      }]
  }]...

然后我在后端使用 Express 并在前面使用 Handlebars 来渲染它:

{{#each results as |auction|}}                    

     <span class="results__container--price">{{auction.price}} €</span>
{{/each}}

(实际上,情况更复杂)

但我不知道如何使用 toLocaleString()。也许我必须遍历“Express 中的价格”,但我不知道该怎么做。是否可以直接与 Handlebars 一起使用它?

最佳答案

使用辅助函数

Handlebars.registerHelper('toLocaleString', function(number) {
  return number.toLocaleString()
})


var source = document.getElementById("temp").innerHTML;
var template = Handlebars.compile(source);
var context = {
  title: "Hello",
  count: 123456789
};
var html = template(context);

document.getElementById("out").innerHTML = html;
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.1.2/handlebars.min.js"></script>

<script id="temp" type="text/x-handlebars-template">
  <div class="test">
    <h1>{{title}}</h1>
    <h2>{{toLocaleString count}}
  </div>
</script>

<div id="out"></div>

关于javascript - Handlebars 助手和 .toLocaleString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57098015/

相关文章:

angularjs - Jade 不适用于 Angular Routing

javascript - 选择 Assets sailsjs

mysql - 使用 NodeJS 进行全文搜索

node.js - 为什么我在测试中收到 401 响应?

javascript - array.filter 不返回 Reactjs 中父数组的嵌套数组

javascript - 使用java脚本像gmail一样滚动邮件正文并使用固定页脚

javascript - 在多个客户端同步播放 YouTube 视频

javascript - JS/C# 接口(interface)的 API 标准 - Camel 与 Pascal 案例

javascript - 在 NodeJS 上暂停和恢复 PostgreSQL 连接

node.js - 能够连接到本地 Docker 容器中运行的 MongoDB,但不能从另一个容器连接