官方相关的文档连接
http://dojotoolkit.org/documentation/tutorials/1.10/understanding_widgetbase/ 编程
题记:
最近在了解DOJO 的时候, 自定义了一个类继承BorderContainer 开始的时候我之间在他的初始化方法中 框架
constructor:function(){
this.initContent();
},
我想经过 initContent 来初始化改面板的内容, 提示一直失败, 很明显我对于widget的生命周期的重要性没有发现, 说白了就是切面与织入 post
生命周期 建立过程
1. constructor
2. postscript
create
postMixInProperties
buildRendering
postCreate
3. tartup ui
生命周期主要分3个阶段 主要负责的业务是: this
1. 使用运行环境中和默认值结合配置 初始化widget
2. 生成可视化的DOM结构
3. widget显示的位置
4. 处理一些显示时候的业务逻辑
主要方法:开放用户实现
postCreate: spa
这个方法就是当widget一切准备完毕以后 插入你想作的事情
code
startup()
该方法定义了该widget已经被加入到document对象以后的操做
在Dijit一系列生命周期中,另外一个重要方法是启动方法startup. 这个方法会在DOM节点被建立并添加到网页以后执行,同时在这个方法也会等待当前小部件中所包含的子控件被建立并正确启动以后才执行。
注意: 当你用编程的方法建立一个小部件时,记得必定要调用它的startup()方法。不少开发者常犯的错误就是仅仅建立了小部件对象却忘记调用startup(),结果就会致使小部件在页面上没法正确显示。
销毁相关的生命周期
[widget].destroy();
[widget].destroyDescendants();
[widget].destroyRecursive();
[widget].destroyRendering();
[widget].uninitialize();
在开发自定义小部件时,你须要覆写[widget].uninitialize 方法,在其中释放你所使用的资源. Dijit框架会自动的负责销毁该Widget所使用的DOM节点,以及大部分的对象.