我正在使用脊柱JavaScript库的独立JavaScript应用程序。 我大量使用发布者/订阅者模型,并将代理回调绑定到主干模型。 当我尝试解除代理回调时,它不解除绑定。这只会在代理回调时发生。 的演示代码脊柱的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.bind()
把它叫做正确结合它和回调是正确的。 但是listener.unBind()
被调用时,解除绑定不会发生。
如果回调没有被代理,它可以工作,但我需要正确的回调上下文,所以我需要代理它。
任何帮助将不胜感激。
你应该添加标签spine.js到你的问题。 – antonjs 2012-03-20 12:21:25
请使用正确的代码突出显示在工具栏上,并用'{}'或'CTRL + K' – Neysor 2012-03-21 10:46:36