映射似乎无法正常工作:
@{ var jsonData = new HtmlString(new JavaScriptSerializer().Serialize(Model)); }
var initialData = @jsonData;
--->在该阶段,initialData包含jSon格式的正确数据
var viewModel;
ko.mapping.fromJS(initialData, viewModel);
--->这里,viewModel包含所有属性。在Chrome调试器中,如果我输入viewModel.Products(这是一个数组属性),它就会被找到并且似乎已正确映射。
但是,如果我执行viewModel.Products [0],则返回'undefined',这很奇怪,因为数组实际上包含4个项目(我可以在jSon数据中看到它)。
我错过了什么吗?
答案 0 :(得分:4)
在映射后它应该是一个可观察的属性,所以你就像它是一个函数一样访问它(它是):
viewModel.Products()[0];