dojo中的模板
dojo中的模板为快速创建页面提供了很好的解决方案,今天上午研究了一下,现将碰到的坑记录一下
1:先将制作模板的页面html代码单独存在一个html页面文件中。
记住,在html代码外面一定要再用一层div标签括起来,如下所示:
<div>
<div>最外层需要用div标签括起来</div>
</div>
2:在引用的js文件中,一定要引用'dijit/_WidgetBase'、'dijit/_TemplatedMixin'、'dijit/_WidgetsInTemplateMixin'
3:在js文件的构造函数和 postCreate:函数中,要写代码this.inherited(arguments),如下所示:
- constructor: function() {
- this.inherited(arguments);
- },
- postCreate: function() {
- this.inherited(arguments);
- }
4:最后引用的时候,直接声明这个类;
5:模板页面默认是不显示的,为了显示此模板,必须要将其style设置为显示,代码为
domStyle.set(this.staticDialog.domNode, "display", "block");
需要说明的是,模板是快速、方便构建页面的方法。他声明后,只要将其显示,它默认是出现在页面上的左上角,为了将其显示在你想要它出现的地方,
可以设置它的class。
本人在模板中的html是一个dialog,因此,在声明后,实验用this.(data-dojo-attach-point).show()方法来显示模板dialog时,发现此方法可行。用
domStyle.set(this.staticDialog.domNode, "display", "block")显示模板时,显示的并不是dialog,而用this.(data-dojo-attach-point).show()方法显示模板为dialog,
至于原因,还未深究,有时间研究下