道场和模板解决方案

Wol*_*mec 5 dojo templates

通常我在jQuery世界,我使用requirejs,backbone.js和jquery开发一个wep应用程序.
为了拓宽视野,我也开始使用Dojo.
在我开始使用Dojo之前,我在几个关于jQuery的博客中读到的语句类似于:"如果你正在制作一个带有一些JS效果的普通网站,你可以使用jQuery,但是对于web应用程序的东西你应该使用Dojo".
所以,正因为如此,当我开始使用Dojo(1.7)时,我渴望了解它的Web应用程序开发解决方案.
让我感到惊讶的第一件事是我没有为mvc控制器组件找到任何基类.在backbone.js中你有一个视图(许多人说backbone.js视图是一个控制器),这有很大帮助.
现在,在我的mvc控制器组件中,我想呈现视图.我使用amd文本插件"加载"模板.对于简单的模板 - 我发现 - 你可以使用dojo.string.substitute.但是,如果你想做一些更复杂的事情,你就不能使用它.
我知道Rebecca Murphey,一位着名的javascript演讲者,当她开始在这个生态系统中开发时,将Mustache.js拉入Dojo.
但是当Dojo Web应用程序程序员必须使用动态行数渲染列表并且他们想通过js模板实现这一点时,Dojo本机解决方案会使用什么?

以下划线模板.如果要执行此操作,请在模板中编写以下内容:

 <div><%= lang_test %></div> <!-- static things -->  
 <table>
 <% _.each(list, function(listitem){ %>
 <tr>
 <td><%= listitem.get('attr1') %></td>
 <td><%= listitem.get('attr2') %></td>
 </tr>   
 <% }); %>
 </table>
Run Code Online (Sandbox Code Playgroud)

非常感谢
沃尔夫冈

更新:
谢谢你,mkriheli,你的回答.我也偶然发现了dojox.dtl!
我想我会用这个.
您提到了处理这种模板小部件的首选方法.这是非常有趣的事情,WIDGETS作为页面控制器与模板!

1)我的第一个javascript web 2.0 MVC页面控制器是一个很大的自定义jQuery UI小部件.我听说jQuery UI团队正在计划将模板集成到他们的小部件中.在使用backbone.js迁移到jquery后,我转身离开了它.

2)据我所知和理解,来自JavascriptMVC的Justin Meyer采用了jQuery UI小部件工厂部分(jQuery UI小部件的基础部分),并在其框架中将其用作页面控制器.

3)Mark Wubben在Dojo Conf谈论模板:他说:

这导致了一种用于编写Dojo小部件的新的有趣方法.它们可以变得更像控制器:处理DOM事件,实现应用程序逻辑和更新模型.视图将自动反映更改.

mkr*_*eli 6

对于简单的事情,您可以使用dojox.dtl.

我的偏好是创建一个模板化小部件,另请参阅创建自定义小部件的教程.