Est-il possible de faire en quelque sorte de prendre un élément du DOM à partir d'un trait de soulignement modèle et l'utiliser comme un autre modèle?
L'idée, c'est que mon application doit rendre un document qui contient une boucle avec les éléments et un résumé. J'ai besoin de occasionaly re-rendre uniquement le résumé ou quelques articles, donc je ne viens de re-rendre l'ensemble de votre document.
Cependant, je tiens à garder les choses simples pour les utilisateurs de l'application pour créer leurs propres modèles pour le document et je pense que de tout garder dans un fichier pour un document à rendre plus facile.
Je suis en train d'utiliser quelque chose comme ceci:
<script type="text/template" id="document-template">
<div id="document">
<h1><%= name %></h1>
<ul class="items">
<% _.each(items, function(item) { %>
<li><%= item %></li>
<% }); %>
</ul>
<div id="summary">
<p>Total items: <%= totalitems %></p>
</div>
</div>
</script>
Maintenant, je peux facilement le faire var documentTemplate = _.template($('#document-template').html());
à en faire un modèle de document, mais je voudrais tourner le résumé de la partie dans un modèle et un élément de la liste dans un modèle en tant que bien.
Puis-je faire quelque chose comme ceci:
var summaryTemplate = _.template($('#document-template #summary').html());
var itemTemplate = _.template($('#document-template .items li').html());
PS. En fait, je suis le chargement du modèle à partir d'un fichier externe à l'aide de jQuery $.obtenir. De cette façon, je vais obtenir le document-modèle dans une grande chaîne. À partir de là, je peux le faire documentTemplate = _.template(loadedString);
.
Maintenant, si seulement je pouvais extraire le #sommaire de l'élément de la chaîne, il devrait fonctionner. Mais quand j'essaie de convertir la chaîne de caractères de l'élément DOM ( var domElement = $(loadedString)
)
(si je pouvais faire ceci: summaryTemplate = _.template($('#summary',domElement).html());
, ça ne marchera pas, parce que le trait de soulignement ne reconnaît pas le <%= %> des balises plus.