我想在AMD的一个WIDGET外面使用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”。
我的问题是:
在没有继承“dojox / dtl / _Templated”的情况下,有人可以帮助我在小部件之外做dtl模板吗?
提前致谢了 沃尔夫冈
答案 0 :(得分:4)
我找到了解决方案:
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);
...