【发布时间】:2015-02-19 02:07:32
【问题描述】:
我有一个集合,其值类似于{ "pctFail" : "0.3515500159795462" },当我将其传递给模板并显示为 {{myTemplate}}% 时,它在我的 html 中显示为 0.3515500159795462%。如何将其显示为 0.35% ?
【问题讨论】:
我有一个集合,其值类似于{ "pctFail" : "0.3515500159795462" },当我将其传递给模板并显示为 {{myTemplate}}% 时,它在我的 html 中显示为 0.3515500159795462%。如何将其显示为 0.35% ?
【问题讨论】:
您可以使用模板辅助方法覆盖数据上下文的属性:
Template.myTemplate.helpers({
pctFail: function () { return this.pctFail.toFixed(2); }
})
然后像以前一样使用{{pctFail}}%。如果您坚持将数值属性存储为字符串,则需要返回类似 parseFloat(this.pctFail).toFixed(2) 的内容。
【讨论】:
return Items.find() 的方式将它们全部返回,然后我用块助手 {{#each items}} 的方式遍历它们。有没有办法可以将所有返回值应用于双精度值?像return Wafers.find().toFixed(2) 或者我是否必须为我的每个“pct”类型的键创建一个助手?
您还可以使用辅助函数 http://docs.meteor.com/#/full/template_registerhelper 来解决此问题,该函数可用于所有模板,如下所示:
Template.registerHelper('toFixed', function (x, decimals) {
return x.toFixed(decimals);
})
然后你可以使用:
{{toFixed item.pctFail 2}}
如果您坚持将数值属性存储为字符串,则需要返回类似
parseFloat(x).toFixed(decimals)
改为。
【讨论】:
你可以使用子字符串来做这样的事情
Template,myTemplate.helpers({
pctFail: function () {
return this.pctFail.substring(0, 4);
}
)};
【讨论】: