【发布时间】:2014-08-03 01:31:09
【问题描述】:
我花了几天时间试图弄清楚为什么模板没有更新。请帮忙!下面是相关代码。
@Listings = new Meteor.Collection 'listings'
class Map
constructor : (map_canvas=null, map_options=null) ->
@listings = Listings.find()
@observer = new Deps.Dependency()
viewable_listings : ->
@observer.depend()
@listings
set_listings : (listings) ->
@listings = listings
@observer.changed()
所以 viewable_listings() 被设置为模板助手
Template.listings.helpers
listings : map.viewable_listings()
但是当更改@listings 的值时,模板不会更新。例如
map.set_listings Listings.find({}, {limit:3})
什么都不做。列表模板没有反应。但是,通过 Listings.remove(...) 更改数据库中的值照常工作。
【问题讨论】:
-
如果您将助手更改为
listings: -> map.viewable_listings()会发生什么?如果这不能解决问题,我建议创建一个meteorpad。 -
哇,就是这样!!!嗯,这是有道理的。显然,将它包装在一个函数中是使这些助手成为计算的原因。我只是假设整个辅助对象是一个计算。再次感谢,我会检查流星垫。随时发布您的答案以进行标记。
标签: coffeescript meteor