dojo的模板方法

时间:2011-09-21 16:45:40

标签: javascript dojo prototypejs

当我查看dojo文档中的模板时,我得到的是dijit,示例只显示您能够在widgit中使用它们。我正在寻找js原型中等效的以下方法

var tmpl = new Template(url)
tmpl.evaluate(templateObj)

dojo是否有一个模板方法,您可以在dojo.declare(class){}中使用,就像在js原型中一样。如果不是,我怎么能进行类似的功能

由于

2 个答案:

答案 0 :(得分:3)

您可能对dojo.string.substitute感兴趣(您需要dojo.require("dojo.string"))。

http://dojotoolkit.org/api/dojo/string/substitute

[编辑]此外,如果您有兴趣从同一服务器上的URL获取用于替换的模板,您可能还需要查看dojo.cache(这也是常用的内容)获取小部件模板):

http://dojotoolkit.org/reference-guide/dojo/cache.html

为了澄清missno的回应,我认为dojo.parser不是你现在感兴趣的;它的工作是扫描DOM并将DOM节点转换为小部件和其他Dojo组件。涉及子窗口小部件时dijit._Templated仅使用dojo.parser(即widgetsInTemplatetrue);另一方面,它在所有情况下都使用dojo.string.substitute来初始解析模板中的${...}字符串(例如${id})。

答案 1 :(得分:0)

我不知道Prototype,但这听起来像dojo.parser。这是dijit._Templated在幕后使用的内容(如果你想要的话,可以在源代码中查找...)

请注意,您可能不需要自己进行校准 - parseOnLoad=true用于自动解析您的初始HTML。