0

映射似乎无法正常工作:

 @{ 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],则返回“未定义”,这很奇怪,因为该数组实际上包含 4 个项目(我可以在 jSon 数据中看到它)。

我错过了什么吗?

4

1 回答 1

4

映射后它应该是一个可观察的属性,因此您可以像访问它一样访问它(它是一个函数):

viewModel.Products()[0];
于 2013-03-07T14:59:32.043 回答