Je joue avec backbone.js pour la première fois, mais je n'arrive pas à déclencher les événements correctement. Quelqu'un peut-il expliquer ce que je fais mal?Les événements de backbone simples ne se déclenchent pas
Très apprécié!
dans app.js chargés au fond de mon html:
var Discussion = Backbone.Model.extend({
defaults: {
id: null,
title: 'New discussion'
},
urlRoot: '/api/discussion'
});
var DiscussionCollection = Backbone.Collection.extend({
model: Discussion,
url: '/api/discussion'
});
var DiscussionView = Backbone.View.extend({
events: {
'click .btnCreateDiscussion': 'create',
'keypress #discussion_title': 'create'
},
initialize: function(){
//this.$el = $("#form_discussion");
this.template = _.template($('#discussion-template').html());
},
render: function(){
console.log("rendering");
return this;
},
create: function(){
console.log('creating a new discussion')
}
});
var discussionView = new DiscussionView({ el: $("#form_discussion"), model: Discussion });
html:
<form action="" id="form_discussion" method="post">
<label for="discussion_title">Discussion Title</label>
<input type="text" id="discussion_title" name="discussion_title" />
<input class="btnCreateDiscussion" type="button" value="Create Discussion">
<script type="text/template" id="discussion-template">
<h1><%= title %></h1>
</script>
Y at-il quelque chose qui ne fonctionne pas, je viens de mettre en place ce [jsFiddle] (http://jsfiddle.net/xCEE6/4/), semble fonctionner correctement. –
L'initialisation de la vue est-elle conservée dans '$ (document) .ready()'? – Cyclone
Le jsFiddle que vous avez créé semble fonctionner correctement, mais localement, il ne déclenche pas mes événements. Je vais enquêter plus loin et rendra compte. – Jorre