车把帮手和.toLocaleString

时间:2019-07-18 15:29:05

标签: javascript node.js express handlebars.js

我在车把中显示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一起使用?

1 个答案:

答案 0 :(得分:2)

使用助手功能

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>