DojoX DTL -


未知
跨平台
Python

软件简介

DojoX DTL 是 DTL(Django Template Language)的 Dojo 实现版本。Neil Roberts 将 DTL 移植到
DojoX 中,并在 DTL 只支持文本基础上增加了对 HTML 元素的支持。DojoX DTL 完全实现了对 DTL 语法的支持,已有的 Django
模板可以很容易地移植到 DojoX DTL。

DojoX DTL 包括文本和 HTML 两个实现,构造函数分别为 dojox.dtl.Template 和
dojox.dtl.HtmlTemplate。这两个构造函数都可以接受一个字符串或 URL 作为参数,HTMLTemplate 也可以传入一个 DOM
节点作为参数。

Template 只适用于文本,不能用它来操纵 DOM 节点。但是我们可以用它来产生文本,然后将生成的文本作为某个 DOM 节点的 innerHTML。

HTMLTemplate 是 Template 的扩展,这就是说 HTMLTemplate 不仅支持所有的 Template 操作,还支持直接对 DOM
节点的操作。例如一个节点位于 {% if %} 块标签中,如果 if 标签求值为真,那么这个节点会被添加到 DOM 中,如果 if
标签求值为假,则这个节点将会从 DOM 中移除。

DojoX DTL 的使用与 Django Template Language 类似,首先创建一个 Template
对象,然后创建模板的上下文信息(context,可以理解为变量的集合),最后将 context 作为参数调用 Template 对象的 render
方法输出结果。

 dojo.require("dojox.dtl");   
 dojo.require("dojox.dtl.Context");

 var template = new dojox.dtl.Template("Hello {{ place }}!");   
 var context = new dojox.dtl.Context({   
  place: "World"  
 });   
 alert(template.render(context));