Я создаю приложение для Phonegap, используя инфраструктуру Backbone и Parse.com в качестве серверной службы. Я создаю объект с Parse.com (соответствует моделям Backbone). Этот объект имеет метод saveDraftToP(), который вызывает функцию save() Parse.com. После того, как этот метод вызывается из представления, я хотел бы получить обновленный объект. Для этого я привязываю событие "change" к модели, но идентификатор, назначенный Parse, не определен. Вот код модели:
var Match = Parse.Object.extend("Match", {
states: {'DRAFT': 0, 'RUNNING': 1, 'ENDED': 2},
saveDraftToP: function () {
var self = this;
this.save({
user: Parse.User.current(),
ACL: new Parse.ACL(Parse.User.current()),
state: self.states.DRAFT
}, {
success: function (result) {
self = result;
},
error: function (e) {
}
});
}
});`
А вот код представления:
var vmNuovaPartita = Parse.View.extend({
template: Handlebars.compile(template),
model: new Match(),
collection: new HintCollection(),
initialize: function () {
this.bind("change:model", console.log(this.model.id) , this);
},
render: function (eventName) {
var match = this.model.toJSON();
$(this.el).html(this.template(match));
return this;
}
});