DojoX DTL
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));
本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!