Создание пользовательского метода sync()
в магистрали.
Я хотел бы сделать это "правильно" и как можно меньше мешать нормальной работе Backbone.
Это код, который у меня есть до сих пор:
var CustomSyncModel = Backbone.Model.extend({
sync:function(method, model, options){
var params = {
type: 'POST'
url: model.url(),
error: function(jqXHR, textStatus, errorThrown){
alert('error');
},
success: function(data, textStatus, jqXHR){
model.parse(data);
}
};
// Got this from line 1359 in Backbone.js developement library
// version 0.9.2:
$.ajax(_.extend(params, options));
}
});
Проблема, с которой я сталкиваюсь, заключается в том, что строка:$.ajax(_.extend(params, options));
кажется, перезаписывает пользовательские функции success
и error
, которые я создал.Но меня также беспокоит вмешательство в любые пользовательские обратные вызовы или другие функции, которые могли быть указаны в другом месте приложения, использующего эту модель.
Как "правильно" переопределить метод Backbone sync()
?
Спасибо!