バックボーン フレームワークと Parse.com をバックエンド サービスとして使用して、Phonegap 用のアプリケーションを作成しています。Parse.com でオブジェクトを作成します (Backbone モデルに対応)。このオブジェクトには、Parse.com 関数の save() を呼び出すsaveDraftToP()メソッドがあります。このメソッドがビューから呼び出された後、更新されたオブジェクトを取得したいと思います。そうするために、「変更」イベントをモデルにバインドしていますが、Parse に割り当てられた ID は未定義です。モデルのコードは次のとおりです。
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;
}
});