当我查看dojo文档中的模板时,我得到的是dijit,示例只显示您能够在widgit中使用它们。我正在寻找js原型中等效的以下方法
var tmpl = new Template(url)
tmpl.evaluate(templateObj)
dojo是否有一个模板方法,您可以在dojo.declare(class){}中使用,就像在js原型中一样。如果不是,我怎么能进行类似的功能
由于
答案 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
(即widgetsInTemplate
为true
);另一方面,它在所有情况下都使用dojo.string.substitute
来初始解析模板中的${...}
字符串(例如${id}
)。
答案 1 :(得分:0)
我不知道Prototype,但这听起来像dojo.parser。这是dijit._Templated在幕后使用的内容(如果你想要的话,可以在源代码中查找...)
请注意,您可能不需要自己进行校准 - parseOnLoad=true
用于自动解析您的初始HTML。