我有一个骨干日历,每天都有很多选项。用户一次只能看到一天。
因此,当用户选择转到下一天或前一天时,我会调用MyApp.Views.ShowDay
来重绘当天。
ShowDay
视图会调用一些子视图MyApp.Views.Hours
。
当我创造新的一天时,我需要解开旧时的工作时间,但这只会造成错误。
我试图这样做的方式是
MyApp.Views.Showday = Backbone.View.extend({ events: { "click div.change_day":"change_day" }, change_day: function(){ MyApp.Views.Hours.unbind(); //I've tried off(), off, remove() as well } });
这不是解开孩子的方法吗?
答案 0 :(得分:1)
您需要从事件中明确取消绑定事件处理程序。请参阅另一个SO问题的答案,特别关注bindTo
和unbindFromAll
函数:
答案 1 :(得分:0)
尝试MyApp.Views.Hours.remove()。这将从dom中删除视图及其元素,并在进程中删除任何事件处理程序。然后重新创建小时视图