Knockout映射插件不在模型内部映射数组

时间:2012-02-21 18:21:58

标签: javascript mapping knockout.js

我正在尝试将一些数据(从jQuery $ .ajax调用返回)映射到视图模型,但由于某种原因,嵌套数组未映射。

    <p>Name: <input data-bind="value: Name" /></p>
    <p>Age: <input data-bind="value: Age" /></p>
    <p>Friends: <span data-bind="text: Friends.length"></span></p>



    <script type="text/javascript">
        var viewModel = null;
        var data = { "Name": "Simon", "Age": "24", "Friends": [{ "Name": "Bill", "Age": "24" }, { "Name": "Peter", "Age": "21"}]};
        viewModel = ko.mapping.fromJS(data);
        ko.applyBindings(viewModel);
    </script>

在这个简单的例子中,西蒙没有朋友......

1 个答案:

答案 0 :(得分:1)

mapping.fromJS将数组转换为可观察数组,因此Friends是一个可观察数组,并且要访问它需要调用它的底层javascript数组:Friends()。length