2012-02-10 16 views
5

Normalmente estoy en el mundo jQuery, desarrollo una aplicación wep usando requirejs, backbone.js y jquery.
Para ampliar mi horizonte, también comencé a usar Dojo.
Antes de comenzar a utilizar Dojo, las afirmaciones que estaba leyendo en varios blogs al respecto en relación con jQuery eran algo así como: "Si estás creando un sitio web normal con algunos efectos JS, puedes usar jQuery, pero para la web cosas de la aplicación, debes usar Dojo ".
Por eso, cuando comencé con Dojo (1.7), estaba ansioso por conocer sus soluciones para el desarrollo de aplicaciones web.
Lo primero que me sorprendió fue que no encontré ninguna clase base para un componente de controlador mvc. En backbone.js tienes una vista para eso (mucha gente dice que la vista de backbone.js es un controlador), y esto ayuda mucho.
Ahora, en mi componente mvc controller quiero renderizar la vista. Yo "cargo" la plantilla usando un complemento de texto AMD. Para plantillas simples, descubrí, puedes usar dojo.string.substitute. Pero si quieres hacer algo que sea un poco más complicado, no puedes usarlo.
Sé que Rebecca Murphey, una conocida conferencista de JavaScript, sacó Mustache.js en Dojo, cuando comenzó a desarrollarse en este ecosistema.
Pero, ¿qué soluciones nativas de Dojo usan los programadores de aplicaciones web de Dojo cuando tienen que generar una lista con un número dinámico de líneas y quieren lograr esto mediante js plantillas?Dojo y soluciones de plantillas

En la plantilla de subrayado. Cuando se quiere hacer esto, usted escribe algo como lo siguiente en la plantilla:

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

Muchas gracias
Wolfgang

Actualización:
Gracias, mkriheli, por su respuesta. ¡También tropecé con dojox.dtl!
Creo que usaré esto.
Ha mencionado su forma preferida de manejar esto son los widgets con plantillas. ¡Eso es algo muy interesante, WIDGETS COMO CONTROLADORES DE PÁGINAS CON TEMPLATING!

1) Mi primer controlador de página javascript web 2.0 MVC era un gran widget de interfaz de usuario jQuery personalizado. Escuché que el equipo de jQuery UI planea integrar plantillas en sus widgets. Me di vuelta después de migrar a jquery con backbone.js.

2) Por lo que sé y entiendo, Justin Meyer de JavascriptMVC tomó la parte de fábrica del widget jQuery UI (parte básica de los widgets de jQuery UI) y la usa en su marco como controlador de página.

3) Marcos Wubben habló en una Dojo Conf acerca de plantillas: dijo:

Esto conduce a un enfoque nuevo e interesante para escribir widgets de Dojo. Pueden ser mucho más como controladores: manejar eventos DOM, implementar lógica de aplicaciones y actualizar un modelo. La vista reflejará automáticamente los cambios.

Respuesta

0

Sé que quiere algo más robusto, pero para la creación de plantillas muy simple, basada en la sustitución, puede usar dojo/_base_lang/replace, que es muy parecido a la forma más simple de dojox/dtl o Mustache. Y tiene el beneficio de no estar en Dojox (y por lo tanto no totalmente compatible).