У меня возникла проблема с плагином отображения KnockoutJS, где мне нужно сделать следующее:
- Настроить создание сопоставления объекта
- Настроить создание сопоставления массива вложенных объектов из # 1.
В этом примере скрипта Я пытаюсь, чтобы дети правильно отображались на их собственное создание. Ожидаемый результат заключается в том, что у каждого из детей есть дополнительное свойство описания. Из скрипки результат должен выглядеть следующим образом:
- Адам Смит
- Бобу 5 лет.
- Крису 7 лет
Я могу продемонстрировать ожидаемое поведение в этом примере . Обратите внимание, что в этом коде я должен иметь два набора данных, первый из которых имеет пустой массив дочерних объектов. Следующая строка кода вызовет индивидуальное создание дочерних объектов:
ko.mapping.fromJS(additionalData, parentMapping, viewModel);
К сожалению, для этого требуется, чтобы оба родителя были пустыми и отображались дважды. Это неприемлемо, поскольку в действительности код имеет гораздо более глубокую иерархию.
В дополнение к вышесказанному, я попытался добавить следующий код в parentMapping:
var mapping = { 'ignore': ["children"] };
var innerModel = ko.mapping.fromJS(options.data, mapping);
//for brevity
innerModel.children = ko.mapping.fromJS(options.data.children, childMapping);
Это приводит к отображению дочерних объектов в исходное сопоставление. Тем не менее, все последующие сопоставления игнорируются. Свойство children игнорируется.
Есть ли способ настроить создание как родительского, так и дочернего объектов с помощью Nockout Mapping?
Спасибо.