流星队没有反应

时间:2014-08-02 16:00:14

标签: coffeescript meteor

我花了好几天试图找出模板没有更新的原因。请帮忙!以下是相关代码。

@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(...)更改数据库中的值将照常工作。

1 个答案:

答案 0 :(得分:0)

listings帮助器不是一个功能,因此依赖关系跟踪不起作用。帮助程序始终是第一次调用map.viewable_listings()的结果。这个值恰好是一个游标,因此有些东西可以呈现,但在你想要它时不会更新。试一试:

Template.listings.helpers
  listings: ->
    map.viewable_listings()