variables à l'intérieur du modèle underscore.js
Comment définir des variables à l'intérieur d'un underscore.js
modèle pour une application construite avec backbone.js
? Je veux juste créer réutilisables traitées cordes. Aussi, peut underscore.js
's de fonctions intégrées comme _.escape
être utilisés pour traiter ces variables?
<script type="text/html" id="templateresults">
<p><%= encodeURIComponent(title) %></p> // this works
//try 1:
var encodedTitle = encodeURIComponent(title); //shows up as regular text
<p>'+encodedTitle+'</p> // this doesn't work and shows up as regular text
//try 2:
<% var encodedTitle = encodeURIComponent(title); %> //nothing shows up
<p><% '+encodedTitle+' %></p> // nothing shows up
</script>
title
est un JSON élément (chaîne de texte).
Codé de sortie: This%20is%20a%20Sample%20Title
Sortie régulière: This is a Sample Title
source d'informationauteur Steve
Vous devez vous connecter pour publier un commentaire.
Votre essai 2 est presque droit, mais la balise où vous sortie encodedTitle est absent de la
=
au début et n'a pas besoin de la+
dans la chaîne. Devrait être:Sinon vous pouvez aussi faire:
En souligner les modèles, le code javascript que vous voulez évaluée doit être contenue à l'intérieur de
<% %>
donc pourquoi votre deuxième tentative juste sorties du javascript comme une chaîne de caractères. Vous avez bien utilisé le=
dans votre échantillon au top mais omis dans l'essai 2.La
=
indique au moteur de template pour afficher le résultat de la joint javascript comme une chaîne de caractères. Si vous n'utilisez pas le=
le javascript est exécuté, mais rien n'est sortie. Trait de soulignement de modèles de laprint()
fonctionner comme une alternative à l'utilisation de la=
je ne sais pas qu'une solution est meilleure que l'autre.