如何在插入Blaze模板

时间:2016-05-27 12:07:02

标签: meteor meteor-blaze

让我们说我有以下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方法修改使用花括号打印的对象属性是否更简单或更快捷。

1 个答案:

答案 0 :(得分:1)

如果你想使用blaze这样做,你可以使用另一个助手来做到这一点。

weeklyPrice: function(priceperday){
  return priceperday * 7;
}

这将被称为

{{#each PackageInCart}}
  <div class="price">{{weeklyPrice priceperday}}</div>
{{/each}}

有关spacebars helper arguments in the docs

的更多信息