2012-01-18 9 views
5

Per quanto ne so, i modelli vengono utilizzati per separare la presentazione da Logic e possono essere riutilizzati poiché non depongono su alcuna logica ... Molti mi suggerirono di andare su Handlebars.js per la creazione di modelli. (Questa è la prima volta che sento questo nome).Cosa è il modello senza logica

Voglio sapere Che cosa si intende per modello senza logica?

Grazie

Nota: Ho passato con questo What's the advantage of Logic-less template (such as mustache)? domanda così .. Ma mi hanno dato un'idea chiara.

risposta

1

L'attività di base di una libreria di modelli è quella di fornire un meccanismo per riempire alcuni dati calcolati nel modello più o meno statico, come per inserire il nome in "Ciao, $ {nome}". Molte librerie di modelli, tuttavia, offrono funzionalità aggiuntive, come istruzioni if-then, cicli, esecuzione di codice arbitrario e così via. Questa è la logica che i modelli privi di logica cercano di evitare.

Ciò significa che le librerie di modelli prive di logica forniscono semplicemente le funzionalità di base per la compilazione dei dati in un modello.

I motivi per l'utilizzo di modelli senza logica sono indicati nella domanda a cui si fa riferimento, quindi non li elenco qui.

+0

Ma nel manubrio js abbiamo anche se le dichiarazioni di rito? Allora come è diventata logica meno? – Jeevi

+1

Dove dice che http://handlebarsjs.com/ è privo di logica? –

+0

SO, Non è logico meno template? Allora come sono compatibili con i baffi js? – Jeevi

0

"Handlebars è un motore per la creazione di modelli senza logica, il che significa che nei modelli è presente poca logica nella pagina HTML. L'uso più importante di Handlebars e di qualsiasi motore di template è quello di mantenere le pagine HTML semplice e pulito e disaccoppiato dai file JavaScript basati sulla logica, e Handlebars serve bene a questo scopo. " da javascriptissexy.com Penso che la citazione sopra risponda alla domanda originale!

3

Handlebars è logico in quanto non è possibile eseguire JavaScript nei modelli. Non è possibile scrivere {{# if num==1}}. Invece, devi preparare un booleano in JS: var numIsOne = num==1;, e il modello dovrebbe contenere {{# if numIsOne }}. Questo è ciò che significa "senza logica".

Problemi correlati