マッピング プラグインを使用して、ノックアウト js ビューモデルにデータを挿入および更新しようとしています。
初期データは次のようになります (数字は「id」フィールドにマッピングされ、テキストは「name」フィールドにマッピングされます):
- 1つ
- 2 2
- 3 3
- 4 4
- 5 5
- 6 6
- セブンセブン
- 2 2
- 8 エイト
- 9 ナイン
- 10テン
- 11 イレブン
- 12 12
- 13 13
- 14 14
- 9 ナイン
- 15 15
私が得るものは
- 1つのMOD
- 2 2
- 3 3
- 4 4
- 2 2
- 16 16
私が取得したいのは:
- 1つのMOD
- 2 2
- 3 3
- 4 4
- 2 2
- 8 エイト
- 9 ナイン
- 10テン
- 11 イレブン
- 12 12
- 13 13
- 14 14
- 9 ナイン
- 15 15
- 16 16
言い換えると:
- フィールド「name」の要素 1 の「one」から「oneMOD」への更新 (フィールド ID がキーとしてマップされるため)
- 5 とその息子が削除された (または手付かずの)
- 8 と 15 はそのまま
- 16件追加。
ko.mapping.fromJS は、新しいデータを更新するのではなく、新しいデータを置き換えるようです。
確かに私は何かが欠けています。
ここでコードを見つけることができます: http://jsbin.com/uwihoz/2/edit
ティア・
ジャンニ
編集:
わかりました、ko.mapping.fromJS を使用した「更新」の意図を誤解していました。
モデルを更新する場合は、元のデータセット全体を更新とともに送信する必要があります。
部分的な更新が必要な場合は、実装する必要があります。KnockoutJS-Mapping-updateData
をテストします。
この投稿(knockoutjs-using-updatefromjs-replacing-values-when-it-should-be-adding) は、私の疑問を裏付けてくれました。
これが役立つことを願っています。
さようなら、
ジャンニ