原文地址: 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
});
});