(クライアント側) socket.io をプロトタイプ クラスにラップしました。
Chat.Client = Class.create();
Chat.Client.prototype = {
initialize: function() {
...
this.socket.on('message', this.on_message);
...
},
on_message: function(data) {
this.add_chat_message(data.something);
}
do_something: function(something) {
...
}
on_message の「this」が「SocketNamespace」になるため、これは機能しません。従来は、「this」をコールバックに追加パラメーターとして渡すだけでこれを回避していましたが、socket.io を使用しているため、単純にこれを行うことはできません。
どうすればこれを解決できますか?