Ich habe eine sehr einfache Einrichtung ...Backbone.js Sync löst keine Ereignisse auf dem Modell
Eine Route ist Setup, die einen modalen Dialog mit Bootstrap aufruft. Die headerView ruft eine Methode, wenn ein Menü angeklickt wird -
menuClick: function(e){
e.preventDefault();
if (!this.myView) {
this.myView= new MyView({model: new MyModel()});
}
this.myView.render();
},
Im MyView Ich bind in den Anruf
initialize: function(){
this.model.bind('sync', function(model){ alert('test view')});
}
initialisieren und rufen Backbone.sync in eine Schaltfläche klicken Ereignis:
var response = Backbone.sync('read', this.model, {
success: function(data, textStatus, jqXHR) { alert('success'); },
error: function(data, textStatus, jqXHR){ alert(fail); }
});
Die Warnung innerhalb der Synchronisierung wird aufgerufen ... aber die Warnung im Befehl bind in der Initialisierung wird nie aufgerufen. Versucht, die Bindung innerhalb des Modells zu verschieben, es zu verschieben, versuchte auch sync: fail, sync: done. Kein Erfolg.
Das 'Backbone.sync' zu überschreiben ist knifflig und sieht komisch aus, es direkt aufzurufen. Warum benutzt du die high layer Befehle nicht als' Model.fetch() '? – fguillen