我已经寻找了几天的答案,但似乎找不到适合我的答案,所以如果在其他地方得到答案,我深表歉意。
我有一个
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>
这些是我对按钮的绑定,它们非常适合新的东西,但在编辑传入的现有数据时什么也不做也不会出错