私のバックボーン モデルでは、サーバーからの応答を解析します。
var MyModel = Backbone.Model.extend({
urlRoot: "/users",
parse: function(response){
var data = {};
data.id = reponse.userDetails.id;
data.name = response.userDetails.firstname + " " + response.userDetails.lastname;
data.description = response.userDetails.description;
return data;
}
});
var myModel = new MyModel({id: 1});
myModel.fetch();
このモデルを使用するビューは、それを操作できます。たとえば、ユーザーがビューをクリックして「選択」すると、モデルが更新されます...
myModel.set({selected: true});
...そして、モデルの変更イベントに基づいてビューが再レンダリングされ、「選択された」ユーザーが強調表示されます。
モデルをサーバーに保存するとき、サーバーが必要とする属性のみを送信するにはどうすればよいですか? ユーザーの操作によって追加された属性を無視します。
また
データ モデルは、サーバーが返すものを常に反映する必要がありますか? もしそうなら、ユーザーの操作を保存するより良い方法はありますか (ビューが「選択」されているかどうか)? 実際のデータ モデルとは別のモデルにする必要がありますか?
ありがとう