Meteor.Stream范围问题

时间:2014-11-02 19:41:31

标签: javascript meteor coffeescript

在服务器端,我有

class Service
  constructor: (@options = {}) ->
    @guiStream = new Meteor.Stream('gui')
    @guiStream.on('toggle', ->
      console.log "Toggle event handler called OK."
      @toggle()
    )

  toggle: (_activate) ->
    @activated = if not _activate? then not @activated else _activate

我希望在客户端上的模板发出'toggle'事件后调用Service中的toggle方法。事件处理工作正常,但是如何从事件处理程序内部调用Service的toggle方法?由于@在@guiStream范围内而不是Service,因此上述产生

Exception while invoking method 'stream-gui' ReferenceError: toggle is not defined

知道我怎么能做到这一点吗?为简洁起见,切换方法包含了很多我已删除的内容。它在整个Service中使用,所以如果可以避免的话,我宁愿不把它放在@guiStream中。

1 个答案:

答案 0 :(得分:0)

@guiStream.on('toggle', ->更改为使用胖箭=>,它可以正常工作。请参阅this相关主题。