これに対する答えを何日も探しましたが、私に合った答えが見つからないようです。他の場所で答えられた場合はお詫び申し上げます。
私は
viewModel = ko.mapping.fromJS(@Html.Raw(JsonConvert.SerializeObject(Model)));
の基本構造を持つ
ゾーン = ID: {} サイズ:{} 詳細:{[ 州:{} 郵便番号:{[郵便番号: {44444}, 郵便番号: {11111},{..}]}]}
function ZoneDetail() {
var self = this;
self.ZoneId = ko.observable();
self.Zipcodes = ko.observableArray();
self.addZipcode = function () {
self.Zipcodes.push(new Zipcode());
};
self.deleteZipcode = function (zip) {
self.Zipcodes.remove(zip);
};
};
今、私の問題は、既存のデータを編集しようとすることです。
上記のコードは、新しい詳細を作成し、それらの新しい詳細に郵便番号の新しいリストを追加するときに完璧に機能します。ただし、郵便番号44444を削除したり、別の郵便番号を詳細に追加したりしたい場合、44444はエラーなしで何もしません。
<input type="button" value="Add Zipcode" data-bind="click: $data.addZipcode" style="font-size: .9em;" />
<a href='#' data-bind="click: $parent.deleteZipcode">Delete</a>
これらはボタンの私のバインディングであり、新しいものには完全に機能しますが、入ってきた既存のデータを編集するときに何もせず、エラーも発生しません