让我们说我有以下Blaze模板帮助器从集合中提取一些对象:
PackageInCart: function() {
PackageIds = Carts.findOne({SessionId: SessionID}).Packages;
var PackageObjects = Packages.find({ _id: { $in : PackageIds } } ).fetch();
return PackageObjects;
},
PackageObjects变量包含具有' priceperday'具有一定价格价值的房产。在Blaze模板中,我可以使用以下方法轻松打印此值:
{{#each PackageInCart}}
<div class="price">{{priceperday}}</div>
{{/each}}
但是,如果我想要修改“价格日”&#39; Helper函数在模板中打印之前的值是多少?这样做的正确方法是什么?
我想到的一个解决方案是创建一个迭代对象的for循环,并执行类似Object.defineProperty()的操作,将priceperday属性更改为新值。
我想知道使用Blaze方法修改使用花括号打印的对象属性是否更简单或更快捷。
答案 0 :(得分:1)
如果你想使用blaze这样做,你可以使用另一个助手来做到这一点。
weeklyPrice: function(priceperday){
return priceperday * 7;
}
这将被称为
{{#each PackageInCart}}
<div class="price">{{weeklyPrice priceperday}}</div>
{{/each}}
有关spacebars helper arguments in the docs
的更多信息