原文地址: http://dojotoolkit.org/documentation/tutorials/1.10/templated/
重载的两个方法
除了上面的属性, _TemplatedMixin重载了Digi组件架构中定义的两个方法:buildRendering和destroyRendering。buildRendering用来解析和填充模板,而destroyRendering用来正确的销毁组件的DOM节点。
由于这两个方法是模板处理过程中的关键方法,如果你重载了其中的任一个,一定要保证调用父类中被重载的方法(在子类中填加this.inherite (arguments)进行调用)。 更多关于组件生命周期的内容请参看 Understanding _WidgetBase Tutorial。
使用
_TemplatedMixin
在自定义小部件的类声明中添加dijit/_TemplatedMixin作为第二个(或者顺序的)的声明参数,就可以简单的使你的小部件“模板化”。
例如: 可以这样定义SomeWidget 小部件:
define([ "dojo/_base/declare","dijit/_WidgetBase","dijit/_TemplatedMixin","dojo/text!./templates/SomeWidget.html" ],function(declare,_WidgetBase,_TemplatedMixin,template) { return declare([_WidgetBase,_TemplatedMixin],{ templateString: template }); });