关闭牵线木偶视图时调用jQuery draggable destroy

时间:2013-06-16 10:41:44

标签: jquery jquery-ui marionette

我有一个牵线木偶ItemView,可以创建一些儿童视图。 这些子视图在其元素上使用jQuery UI的可拖动函数。 我在子视图的onRender中实例化了draggable。

当我在父视图上调用close时,在它的onClose函数中,我在子视图上调用close。在onClose中,如果子视图,我调用.draggable(“destroy”)。 我的问题是,我收到以下错误: 在初始化之前无法调用draggable上的方法;试图调用方法'destroy'

我正在使用骨干保姆来管理我孩子的观点。

有什么想法吗? 我应该采用不同的方式管理关闭儿童观点吗?

1 个答案:

答案 0 :(得分:0)

onClose方法在视图的Close方法之后被触发。视图的close方法根据文档执行以下操作。 https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.view.md#view-close

  • 取消绑定所有listenTo事件
  • 取消绑定所有自定义视图事件
  • 取消绑定所有DOM事件
  • 从DOM中删除this.el
  • 在视图上调用onBeforeClose事件(如果提供了一个)
  • 在视图上调用onClose事件(如果提供了一个

所以如果清理这个方法对你的场景来说还不够,你仍然需要调用destroy,尝试在onBeforeClose方法中执行它,这将在close方法之前调用。