我花了好几天试图找出模板没有更新的原因。请帮忙!以下是相关代码。
@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(...)更改数据库中的值将照常工作。
答案 0 :(得分:0)
listings
帮助器不是一个功能,因此依赖关系跟踪不起作用。帮助程序始终是第一次调用map.viewable_listings()
的结果。这个值恰好是一个游标,因此有些东西可以呈现,但在你想要它时不会更新。试一试:
Template.listings.helpers
listings: ->
map.viewable_listings()