3

ユーザー設定プロファイル フォームで Backbone を使用しています。モデルをフェッチし、その情報をフォームにレンダリングします。モデルを保存すると、ユーザーが変更したパラメータではなく、すべてのパラメータが送信されます。

まず、モードを取得してビューにレンダリングします。

// Fetch model and render on view
user = new User({ id: 123 });
user.fetch().done(function () {
    view.render();
});

ユーザーがフィールドを変更すると、「set()」メソッドでモデルを更新しました。

"change .email": function () {
    this.model.set("email", this.email.val());
}

ビューコードの後半で、クリックイベントを保存します(を使用patch: true):

"click .save": function () {
    console.log(this.model.changedAttributes());  // Shows all the model attributes
    this.model.save({ patch: true }); // Sends all the model attributes
 }

fetchモデルの初期化に使用した後、バックボーンのマーキングが変更されないようにするにはどうすればよいですか?

4

1 に答える 1

1

このハックはあなたの問題を解決します:

model.fetch({context:model}).done(function () {
  this.set({});
  view.render();
});
于 2013-01-23T18:02:35.363 に答える