【发布时间】:2012-10-14 11:08:10
【问题描述】:
这是我拥有的一个简单的主干视图类:
class Student.Views.SharedChat extends Backbone.Marionette.ItemView
template: 'student/shared/chat/chat'
onRender: ->
Student.CurrentUserChannel.bind('student:chat_threads:created', @setUpThread)
setUpThread: (data) ->
channel = Student.Pusher.subscribe("presence-thread-1")
channel.bind('student:chat_messages:created', @newMessage)
newMessage: (data) ->
do something with data...
end
我的问题是,我如何调用@newMessage,从上面的代码看起来,绑定到@newMessage 的通道在该范围内无法识别它,我如何从该绑定访问newMessage 函数?
感谢您的回复,这有点把我逼到墙边了。
虽然我之前尝试过胖箭,但我想我并没有完全理解它。 niko 的回复让我思考并阅读了更多内容。问题是@setUpThread 本身被调用为一个已经绑定的函数,所以需要为@setUpThread 维护@ 而不是@newMessage 的粗箭头。
【问题讨论】:
-
你试过胖箭头吗?
newMessage: (data) => -
是的,我有,但它仍然无法识别它。
-
啊,我终于明白了!我将用答案编辑问题。
标签: backbone.js coffeescript marionette backbone-views