utilisant setElement avec des vues dans backbone
Suivantes cette tutoriel s'est bien passée mais j'ai décidé de lui donner une autre course avec épine dorsale de 0,9 et de la nouvelle setElement de commande.
<script type="text/javascript" id = "test" >
SearchView = Backbone.View.extend({
initialize: function(){
this.render();
},
render: function(){
var template = _.template( $("#search_template").html(), {} );
//Right here
this.setElement( template );
},
events: {
"click input[type=button]": "doSearch"
},
alert( "Search for " + $("#search_input").val() );
}
});
var search_view = new SearchView({ el: $("#search_container") });
</script>
Précédemment, j'ai utilisé this.el.html(template)
mais comment puis-je utiliser le nouveau setElement commande?
Ce que j'ai actuellement ne fonctionne pas, le champ de recherche qui doit apparaître n'.
source d'informationauteur VicVu
Vous devez vous connecter pour publier un commentaire.
De l'Backbone.js v0.9 documentation:
setElement
L'épine Dorsale de la Vue "el" propriété représente la partie html de la vue qui va être affiché sur la page. Pour obtenir la vue pour afficher la page de votre point de vue devrez l'ajouter comme un nouvel élément dans la page ou l'attacher à un élément existant int la page.
La raison pour laquelle le code que vous avez utilisé avant d'travaillé était parce que vous étiez le "el", propriété de la vue dans le constructeur de l'attacher à un élément avec un id de "search_container":
La méthode que vous avez utilisé avant d':
travaillé parce que vous avez été l'ajout de votre gabarit html pour l'élément existant sur la page.
Lorsque vous avez utilisé setElement de la manière suivante:
vous ont fait primordial de votre valeur existante pour "el" à partir de l'élément avec l'id de "search_container" pour le code html de votre modèle. Et puisque votre modèle n'a pas été ajouté à la page ou n'existe pas déjà votre point de vue ne s'affichent pas.
Si vous souhaitez toujours utiliser setElement et continuer de le fixer à l'id "search_container", je dirais que c'est lors de l'initialisation de votre point de vue:
De cette façon, vous pouvez en cache "$el" référence plus tard, comme suit:
Espérons que cette aide!