私はスタンドアロンのjavascriptアプリケーションにspine javascriptライブラリを使用しています。 私はパブリッシャー/サブスクライバー・モデルを大量に使用し、プロキシー・コールバックを背骨モデルにバインドします。 プロキシされたコールバックのバインドを解除しようとすると、バインド解除されません。これはプロキシコールバックでのみ発生します。 デモコードlistener.bind()
が、それは正しく、それを結合し、コールバックが正しいと呼ばれているスパインjavascriptはプロキシコールバックをアンバインドできません
var Listener = Spine.Model.sub({
onChange : function(){this.log("Hooray!!")},
log:function(msg){console.log("Rxed event"+msg);},
bind: function(){SomeModel.bind("onChange",this.proxy(this.onChange));},
unBind:function(){SomeModel.unbind("onChange",this.proxy(this.onChange));}
});
var listener = new Listener();
。 が呼び出されますが、listener.unBind()
が呼び出されると、バインド解除は実行されません。
コールバックがプロキシされていない場合は機能しますが、コールバックに正しいコンテキストが必要なため、プロキシが必要です。
ご協力いただければ幸いです。
spine.jsというタグを質問に追加する必要があります。 – antonjs
{{} 'や' CTRL + K 'のツールバーにある正しいコードのハイライトを使用してください。 – Neysor