我有一个 ASPNET mvc 站点,其中视图具有带有敲除的视图模型。我正在尝试将传递给视图的模型序列化为视图视图模型。
模型通过类似标准的 aspnet mvc 传递给
@model Client.Controllers.TripDto
使用 KO 映射创建的淘汰视图模型的完成方式如下
var jsonModel = '@Html.Raw(JsonConvert.SerializeObject(this.Model))';
var mvcModel = ko.mapping.fromJSON(jsonModel);
var viewModel = new TripViewModel();
var mapping = {
'ignore': ["expenses"]
};
ko.mapping.fromJS(mvcModel, mapping, viewModel);
ko.applyBindings(viewModel);
我在 KO“自定义”视图模型上有一笔财产费用。问题是这个属性不在 MVC 模型中,而只是一个稍后获取其数据的属性。但到目前为止,我还无法将模型传递到视图模型中而不会出现错误
错误:无法解析绑定。消息:ReferenceError:费用未定义;绑定值:foreach:费用 [中断此错误]
return new Function("$context", "$element", functionBody);
我有点不确定是否真的是映射失败,但到目前为止还看不到任何可能的错误。
所以问题是,是否可以在我正在映射的模型中不存在所有属性的情况下使用 KO 映射?