Mam bardzo prostą konfigurację ...backbone.js Sync nie powoduje żadnych wydarzeń na modelu
Trasa jest konfiguracja, która wywołuje modalne okno dialogowe za pomocą startowej. HeaderView wywołuje metodę, gdy kliknięciu menu -
menuClick: function(e){
e.preventDefault();
if (!this.myView) {
this.myView= new MyView({model: new MyModel()});
}
this.myView.render();
},
W MyView nazywam wiążą w zainicjować
initialize: function(){
this.model.bind('sync', function(model){ alert('test view')});
}
I zadzwonić Backbone.sync w przypadku przycisk kliknij:
var response = Backbone.sync('read', this.model, {
success: function(data, textStatus, jqXHR) { alert('success'); },
error: function(data, textStatus, jqXHR){ alert(fail); }
});
Alarm wewnątrz synchronizacji zostanie wywołany ... ale alert w poleceniu bind w inicjalizacji nigdy nie zostanie wywołany. Próbowałem przesuwać bind wewnątrz modelu, wyprowadzać go, próbowałem także synchronizacji: fail, sync: done. Bez powodzenia.
Zastąpienie 'Backbone.sync' jest trudne i wygląda dziwnie na bezpośrednie wywołanie .. Dlaczego nie używasz poleceń wysokiej warstwy jako' Model.fetch() '? – fguillen