Dojo toolkit tiene un sistema bastante útil para tratar con fragmentos/plantillas de HTML. Digamos que el fragmento de código HTML mycode/mysnippet.tpl.html
es algo como lo siguiente
<div>
<span dojoAttachPoint="foo"></span>
</div>
Aviso el atributo dojoAttachPoint. A continuación, puede hacer que un widget mycode/mysnippet.js
usando el fragmento de HTML como su plantilla:
dojo.declare("mycode.mysnippet", [dijit._Widget, dijit._Templated], {
templateString: dojo.cache("mycode", "mysnippet.tpl.html"),
construct: function(bar){
this.bar = bar;
},
buildRendering: function() {
this.inherited(arguments);
this.foo.innerHTML = this.bar;
}
});
Los elementos HTML dados adjuntar atributos de punto se convertirán en miembros de la clase en el código del widget. A continuación, puede utilizar el widget de plantilla de este modo:
new mycode.mysnippet("A cup of tea would restore my normality.").placeAt(someOtherDomElement);
Una característica interesante es que si se utiliza dojo.cache
y sistema de construcción de Dojo, se insertará el texto de la plantilla HTML en el código Javascript, por lo que el cliente no lo hace tiene que hacer una solicitud por separado.
Esto, por supuesto, puede ser demasiado hinchado para su caso de uso, pero me parece bastante útil, y ya que pidió las técnicas, está la mía. Sitepoint tiene un nice article también.
Entonces, ¿se almacenan bloques de HTML en una base de datos back-end o en el ¿código del lado del servidor? –
@El Ronnoco: los datos sin procesar están en la base de datos, pero están HTMLizados en código del lado del servidor. Dependiendo del tamaño/complejidad/gastos generales, también se puede almacenar en caché en formato HTML en el disco para una mayor velocidad de acceso. –
+1 Interesante "técnica" :) Nunca he pensado en esto. –