流星.流范围问题
Meteor.Stream scoping issues
在服务器端,我有
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的范围内,而不是服务,因此以上生成
Exception while invoking method 'stream-gui' ReferenceError: toggle is not defined
你知道我该怎么做吗?为了简洁起见,toggle方法包含了我在这里删除的更多内容。它在整个服务中都在使用,所以如果可以避免的话,我宁愿不把它放在@guiStream中。
将@guiStream.on('toggle', ->
更改为使用胖箭头=>
,就可以了。请参阅此相关主题。
相关文章:
- setInterval游戏循环的范围问题
- Javascript innerHTML超出范围的问题
- AngularJs避免范围界定问题
- firefox中的Javascript事件范围问题
- AngularJS指令范围约束问题重复出现
- jQuery“this”范围问题
- 可以't在quizz页面范围问题上用最终分数更新变量
- JavaScript 函数变量范围问题
- 奇怪的可变范围问题
- JavaScript 中变量范围的问题
- 主干.js(具有 Require.js)变量/范围访问问题
- 递归承诺调用 - 内存范围变量问题
- JQuery 范围滑块步进更改问题
- AngularJS中的范围问题
- 如何在 JavaScript for D3.js 中解决这样的范围问题
- 我可以设置这个吗'某事'在该服务中动态创建的嵌套对象中的服务?(可能是范围问题)
- Highcharts列范围工具提示问题
- 在函数中提示未定义返回.(问题)范围
- 访问Javascript's变量:涉及Javascript, JQuery和PHP/MySQL的问题&范围
- JavaScript 闭包问题..范围