我想在小部件之外使用AMD中的dojo doxox / dtl!
当前(2012-02-10)该文档尚未更新为dojo 1.7 AMD(http://dojotoolkit.org/reference-guide/dojox/dtl.html)。
在旧文档中,非AMD示例为:
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" });
console.debug(template.render(context)); // Hello World!
为了使用新的Dojo 1.7框架产生相同的输出,我的解决方案是子类“dojox / dtl / _Templated”,并在新类的构造函数中将模板值设置为属性“templateString”。
我的问题是:
有人可以帮我在窗口小部件外部制作dtl模板,而无需子类化“dojox / dtl / _Templated”吗?
在此先感谢
沃尔夫冈
最佳答案
我找到了解决方案:
define(["dojox/dtl/_base", "dojox/dtl/Context"], function (dtl, Context) {
var compiledTemplate, templateObj, contextObj;
templateObj = new dtl.Template ("Hello {{ place }}!");
contextObj = new Context({ place: "World" });
compiledTemplate = templateObj.render(contextObj);
...