2012-02-21 4 views
0

Я пытаюсь сопоставить некоторые данные (возвращенные из вызова 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

mapping.fromJS преобразует массивы в наблюдаемые массивы, поэтому Друзья являются наблюдаемой массив и получить доступ к его основному яваскрипту массива, который нужен назвать: Друзья(). Длина