私はノックミーアウトで単純なエディター パターンに従ってきましたが、ネストされたオブジェクトを使い始めるまで、すべてが期待どおりに機能していました。
基本的に、アイテムを選択すると、ビューモデルに 2 つのプロパティが設定されます。selectedItem
プロパティとプロパティeditable
。次に変更を加えるのは、編集可能なプロパティです。ユーザーが変更を受け入れると、選択したアイテムが更新されます。
フラットオブジェクトがある場合、これは私のコードでうまく機能します。ただし、ネストされたオブジェクトがある場合、編集可能なプロパティに割り当てられたときに子オブジェクトのデータが正しくありません。
私は見る必要があります:
"Selected": {
"Id": 1,
"Name": "user 1",
"Role": {
"Id": 2,
"RoleName": "IT Support"
}
},
"Editable": {
"Id": 1,
"Name": "user 1",
"Role": {
"Id": 2,
"RoleName": "IT Support"
}
しかし、私は得る:
"Selected": {
"Id": 2,
"Name": "user 1",
"Role": {
"Id": 3,
"RoleName": "IT Procurement"
}
},
"Editable": {
"Id": 2,
"Name": "user 1",
"Role": {
"Id": 2,
"RoleName": "IT Support"
}
selectItem メソッドに渡された詳細オブジェクトをログに記録すると、データが正しいことがわかります。編集可能なプロパティに割り当てられたとき、それは正しくないようです。
これがあまり明確でない場合はお詫び申し上げます。ここに私のフィドルへのリンクがあります