2012-11-30 25 views
8

Sono assolutamente nuovo ai motori di template js. Il manubrio sembra essere la scelta popolare. Non mi piace la sintassi per fare condizioni, loop e così via, ma dato che sono perfettamente in grado di sentirmi più a mio agio con plain old js e non ho intenzione di permettere a chiunque non sappia js di toccare i miei template , Sto chiedendo se Handlebars supporta questo.Esecuzione javascript all'interno del modello di Handlebars

Naturalmente la scelta più popolare non è sempre la migliore. Sono più un ragazzo Mootools e jQuery mi fa impazzire (ottima biblioteca, non solo per me). Quindi se Handlebars era jQuery di template engine, cosa sarebbe Mootools?

risposta

9

Una delle idee centrali dietro manubrio e mustache è che sono LOGICLESS in base alla progettazione e l'intenzione. Non possono ora, né lo permetteranno mai né ti consigliamo di incorporare JS non elaborato nei tuoi modelli. Alcuni dicono che questo è un design migliore. Se si desidera il javascript incorporato, quasi tutti gli altri motori di template tradizionali, come _.template o jade o EJS si basano (o almeno supportano) l'idea di frammenti di codice JS incorporati.

+0

+1 per suggerire EJS. Ad una rapida occhiata sembra essere proprio quello di cui avevo bisogno. – jpeltoniemi

+0

Ho letto un po 'di più sulla filosofia dei modelli senza logica e devo dire che sono d'accordo con alcune idee. Detto questo, non sono d'accordo sul fatto che la logica debba essere negata solo perché qualcun altro potrebbe abusarne. Tuttavia, leggere senza logica mi ha dato una visione preziosa e raccomando lo stesso a chiunque abbia la stessa domanda che ho fatto io. – jpeltoniemi

+0

dove posso rilasciare un'istruzione debug nell'origine della barra degli handle per ispezionare l'ambito del modello? Sono pigro e non voglio vivere nel mio debugger/codice. – Prospero

3

Siamo spiacenti di far risorgere un vecchio problema qui. Se devi usare il manubrio o non è fattibile per cambiare la tua libreria di modelli, puoi usare gli Helpers dalla libreria di Handlebars.

http://handlebarsjs.com/expressions.html#helpers

Problemi correlati