Hier Brennen ist der Code:Backbone Ansicht Click-Ereignis nicht
var view = Backbone.View.extend({
el:'#comment',
template:'',
initialize:function(){
this._getTemplate();
this.render();
},
event:{
'click #submit_btn' : 'submit'
},
_getTemplate:function(){
$.ajax({
...
});
},
render:function(){
this.$el.html(this.template);
},
submit:function(event){
alert('click');
}
});
I Ajax verwenden HTML-Template von Server zu bekommen und es funktioniert gut. Ich habe kein Problem beim Laden der Vorlage.
Hier ist das Div, in das ich die Vorlage einfügen möchte.
<div id="comment">...</div>
Hier ist die Vorlage. Ich zeige nur die einfache Struktur.
<div>...</div>
<button id="submit_btn">submit</button>
<div>...</div>
Kann mir jemand helfen, es zu lösen?
Könnten Sie mehr Erklärung zu geben "Ihre Technik des Abrufs der Vorlage innerhalb der initialize() -Methode wird problematisch sein, ebenso zwingt das Abrufen von es synchron zu sein." – AATRSong
Sicher - aktualisiert die Antwort, um ein bisschen mehr Hintergrund . –
Vielen Dank! Es ist schlecht, den obigen Code so einfach zu machen. Meine Idee ist, die Vorlage nur einmal zu holen. Also benutze ich _getTemplate() und speichere die Vorlage in der Ansicht attr. Außerdem gibt es nur eine Instanz dieser Ansicht. Also mache ich solche Dinge. Ich probiere den Weg wie du oben gesagt hast. Hoffe, es funktioniert. – AATRSong