2012-02-11 3 views
3

Я хочу использовать dojo doxox/dtl в AMD, в стороне от WIDGET!
В настоящее время (2012-02-10) документация не обновляется до dojo 1.7 AMD (http://dojotoolkit.org/reference-guide/dojox/dtl.html).
В старой документации не-AMD пример:Использование dojo dojox/dtl в 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"?

Большое спасибо заранее
Wolfgang

ответ

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);   
... 
+0

Вы также хотите включить «dojox/DTL/теги/логики» и добавить псевдоним к списку функций Params в строке 1. Вам не нужно менять код ниже; просто убедитесь, что модуль необходим. – Patrick

Смежные вопросы