Les partiels modèle dans le trait de soulignement (tout comme dans le guidon)?
J'ai une épine dorsale modèle comme celui-ci
var PeopleModel = Backbone.Model.extend({
defaults: {
"people": [
{ "username": "alan", "firstName": "Alan", "lastName": "Johnson", "phone": "1111", "email": "[email protected]" },
{ "username": "allison", firstName: "Allison", "lastName": "House", "phone": "2222", "email": "[email protected]" },
{ "username": "ryan", "firstName": "Ryan", "lastName": "Carson", "phone": "3333", "email": "[email protected]" },
{ "username": "ed", "firstName": "Edward", "lastName": "Feild", "phone": "4444", "email": "[email protected]" },
{ "username": "phil", "firstName": "Philip", "lastName": "Doom", "phone": "5555", "email": "[email protected]" },
{ "username": "gerald", "firstName": "Gerald", "lastName": "Butler", "phone": "6666", "email": "[email protected]" }
],
"company": {"name": "Random Corp."},
"country": "England"
}
});
Et ci-dessous sont mes modèles
<script id="people-template" type="text/x-handlebars-template">
{{#each people}}
{{> person}}
{{/each}}
</script>
<script id="person-partial" type="text/x-handlebars-template">
<div class="person">
<h2>{{fullName}} </h2>
<div class="phone">{{phone}}</div>
<div class="email"><a href="mailto:{{email}}">{{email}}</a></div>
</div>
C'est comment j'ai mis en œuvre partielle à l'aide de handlebars.js.
Mes questions
1.Avons-nous la même chose, je veux dire les partiels en cas de underscore.js moteur de template?
2.Si oui, comment pouvons-nous mettre en œuvre partielle dans underscore.js moteur de template
InformationsquelleAutor bhargav | 2012-07-02
Vous devez vous connecter pour publier un commentaire.
Non, il n'est pas native prise en charge partielle dans le trait de Soulignement de modèles. Mais, vous pouvez mettre quasiment n'importe quel code JavaScript que vous voulez à l'intérieur d'
<% ... %>
; en particulier, vous pouvez appeler vos propres fonctions de sorte que vous pouvez ajouter quelque chose de partiel-ish sans trop de difficulté. Vous pourriez avoir un modèle comme celui-ci:puis ajouter un
partial
fonction dewindow
:Démo: http://jsfiddle.net/ambiguous/HDuj5/9/
Ce n'est pas tout à fait aussi lisse et jolie comme
{{> ... }}
dans le Guidon, mais Soulignent modèles sont très minces wrapper autour de JavaScript lui-même et qui vous limite un peu. Vous pouvez utiliser des espaces de noms pour éviter de mettre les choses directement danswindow
ou vous pouvez utiliser la{variable: ...}
à_.template
et un wrapper pour configurer votre standard aides._.template()
avec les données de la deuxième argument a été deprectated à partir de la version 1.7. L'approche est encore solide, bien que._.template(tmpl, data)
travail?", questions récemment.Ou d'éviter d'utiliser une portée mondiale, vous pouvez mélanger dans le modèle global d'aides de la sorte:
Alors appel
Voici un lien vers le trait de soulignement mixin sur github.
Je pense que c'est similaire à Dave de réponse, mais peut-être besoin de moins de code:
Exemple d'utilisation: