Dojo widget 系统 - dijit._WidgetBase类(2)
2012-12-26 20:41
99 查看
上一篇记录的是 widget 创建过程, 这里记录一下 widget 的销毁过程.
widget destroy 的通用函数是 widget.destroyRecursive()
this.destroyDescendants(preserveDom)
作用: 如果这个 widget 有子 widget, 会遍历所有 子widget, 并在其上面递归调用 destroyRecursive() .
this.destroy(preserveDom)
这个函数主要进行了清理工作, 内部处理过程按顺序如下 :
1) 调用 uninitialize(). 这个函数在基类中是空函数, 专门留组用户去覆盖, 做一些自定义的析构操作
2) 清除所有 dojo.connect + dojo.subscribe 的句柄
3) 销毁做为模版的一部分而创建的 widget
4) 调用 dwstroyRendering(preserveDom), 这个函数会根据参数 preserveDom 为 true / false 去选择, 只是删除 domNode 上的 widgetId 属性, 或是直接把 domNode destroy掉
widget destroy 的通用函数是 widget.destroyRecursive()
destroyRecursive: function(/*Boolean?*/ preserveDom) { this._beingDestroyed = true; this.destroyDescendants(preserveDom); this.destroy(preserveDom); }
this.destroyDescendants(preserveDom)
作用: 如果这个 widget 有子 widget, 会遍历所有 子widget, 并在其上面递归调用 destroyRecursive() .
this.destroy(preserveDom)
这个函数主要进行了清理工作, 内部处理过程按顺序如下 :
1) 调用 uninitialize(). 这个函数在基类中是空函数, 专门留组用户去覆盖, 做一些自定义的析构操作
2) 清除所有 dojo.connect + dojo.subscribe 的句柄
3) 销毁做为模版的一部分而创建的 widget
4) 调用 dwstroyRendering(preserveDom), 这个函数会根据参数 preserveDom 为 true / false 去选择, 只是删除 domNode 上的 widgetId 属性, 或是直接把 domNode destroy掉
相关文章推荐
- Dojo widget 系统 - dijit._WidgetBase类(1)
- Dojo 1.6 官方教程: 理解Dijit Widget系统的基础架构
- Dojo 1.6 官方教程: 理解Dijit Widget系统的基础架构
- Dojo 1.6 官方教程: 理解Dijit Widget系统的基础架构
- Dojo 1.6 官方教程: 理解Dijit Widget系统的基础架构
- Dojo 1.6 官方教程: 理解Dijit Widget系统的基础架构
- Dojo Widget系统(转)
- android 获取系统所有的widget
- Dojo Dijit.Tree 懒加载
- DOJO组件生命周期(the life cycle of dojo widget)
- Dojo Spreadsheet Widget - 基于Ajax的Excel
- 从零开始学_JavaScript_系列(22)——dojo(9)(表单、JsonRest的post方法,widget的使用思路)
- 学习Ajax框架之dojo:第十三节——如何编写自己的dojo widget
- DOJO组件生命周期(the life cycle of dojo widget)
- 基于OgreBites::Widget 实现自己的GUI系统(2)
- Dojo Spreadsheet Widget - 基于Ajax的Excel
- 学习Ajax框架之dojo:第八节——Dojo的Layout Widget(附源代码)
- android设置系统语言,字体大小,字体样式导致widget控件失效
- dojo dijit layout的一点问题
- 认识Dojo中的界面控件:Dijit