淘汰地图的属性不起作用

时间:2013-03-07 14:57:22

标签: jquery asp.net-mvc-4 knockout.js

映射似乎无法正常工作:

 @{ 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数据中看到它)。

我错过了什么吗?

1 个答案:

答案 0 :(得分:4)

在映射后它应该是一个可观察的属性,所以你就像它是一个函数一样访问它(它是):

viewModel.Products()[0];