DojoXDTL是DTL(DjagoTemplateLaguage)的Dojo实现版本。NeilRoberts将DTL移植到DojoX中,并在DTL只支持文本基础上增加了对HTML元素的支持。DojoXDTL完全实现了对DTL语法的支持,已有的Djago模板可以很容易地移植到DojoXDTL。
DojoXDTL包括文本和HTML两个实现,构造函数分别为dojox.dtl.Template和dojox.dtl.HtmlTemplate。这两个构造函数都可以接受一个字符串或URL作为参数,HTMLTemplate也可以传入一个DOM节点作为参数。
Template只适用于文本,不能用它来操纵DOM节点。但是我们可以用它来产生文本,然后将生成的文本作为某个DOM节点的ierHTML。
HTMLTemplate是Template的扩展,这就是说HTMLTemplate不仅支持所有的Template操作,还支持直接对DOM节点的操作。例如一个节点位于{%if%}块标签中,如果if标签求值为真,那么这个节点会被添加到DOM中,如果if标签求值为假,则这个节点将会从DOM中移除。
DojoXDTL的使用与DjagoTemplateLaguage类似,首先创建一个Template对象,然后创建模板的上下文信息(cotext,可以理解为变量的集合),最后将cotext作为参数调用Template对象的reder方法输出结果。
dojo.require("dojox.dtl");dojo.require("dojox.dtl.Cotext");vartemplate=ewdojox.dtl.Template("Hello{{place}}!");varcotext=ewdojox.dtl.Cotext({ place:"World"});alert(template.reder(cotext));
评论