我想在小部件之外使用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);
...

10-08 12:49