这是一个简单的骨干视图类,我有:
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。
答案 0 :(得分:0)
我会这样做:
channel.bind('student:chat_messages:created', (data)=>@newMessage(data))