Domanda

In realtà la questione è in subj...È possibile rendere i manubri modello di quadro, di riconoscere i modelli all'interno di un tag div e non nel tag script?

Per esempio vorrei creare un template con questo codice:

<style>
    div.text-x-handlebars {display:none;}
</style>
<div class="text-x-handlebars-template">
    <h2>I'm template</h2>
    <p>{{welcomeMessage}}</p>
</div>
È stato utile?

Soluzione

Sì, è possibile mettere i modelli in <div>s piuttosto che <script>s, per esempio:

http://jsfiddle.net/ambiguous/RucqP/

Tuttavia, così facendo si è irta di pericoli.Se mettete il vostro modello all'interno di un <div> quindi il browser interpreta come HTML prima hai compilato;così, se il vostro template HTML non è valido fino al dopo è stato compilato, il browser potrebbe tentare di correggere e fare un casino di cose.Inoltre, se si dispone di id attributi nei modelli, allora si finirà con duplicati ids (uno nel modello <div> e a ripetere in pieno nel modello che hai messo nel DOM) e che causa tutti i tipi di strano e interessante bug.Il browser cercherà anche di scaricare tutte le immagini all'interno dei modelli in <div>, questo può o non può essere un problema (se potrebbe anche essere auspicabile, ma probabilmente non è auspicabile, se l'immagine si utilizza una variabile di modello nella sua src attributo).

In pratica, si può fare, ma non si dovrebbe, si dovrebbe mettere i modelli in <script id="..." type="text/x-handlebars-template"> elementi, invece.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top