Я генерирую вложенную форму из объекта json say formObject и связывая значения в самом объекте json. Я разбираю значения рекурсивно и вытаскиваю фактические данные, например, dataObject при отправке.Данные привязки к модели для динамических вложенных форм в angularjs
Я могу получить dataObject в линейной форме, подобной этой. http://jsfiddle.net/DrQ77/80/.
<select ng-model="Answers[question.Name]" ng-options="option for option in question.Options">
В отличии от вышесказанного, http://jsfiddle.net/DrQ77/92/ имеют некоторые рекурсии. Я переименовал question
в element
, чтобы представить оба вопроса: & разделы. У каждого раздела может быть несколько вопросов &, несколько разделов (это то, что я подразумевал под гнездованием). В конце концов, я хочу, чтобы объект был в форме ниже с любым уровнем вложенности.
Answers=[{
section:"Personal",
values:[{GenderQuestion:"Male"},{MaritalStatus:"Married"},{section:"Sub Personal",values:[{LivingWith:"Alone"}]}]
}, {
section:"Random",
values:[{ColorQuestion:"Red"}],
},
{SectionLess:"opt1"}]
Это одно решение & я могу получить его представить, $ scope.Answers с первой скрипкой не (я думаю) позволяют такого рода вложенности. Но когда мне нужно обновить существующий объект dataObject, мне было необходимо сопоставить объекты данных с объектом formObject перед его рендерингом, а затем снова разобрать на submit. Теперь это не MVC, не выглядит элегантно (из-за рекурсии) & Я думаю, что для этого есть «угловой способ».
Пробовал ли кто-нибудь это &, работал ли он лучше? Как мне обойти это?
Я не совсем понял проблему с вашим подходом. Может быть, это потому, что пример JSFiddle недостаточно сложный - нет упоминаемой «рекурсии» и необходимости «разбора» на submit '- '$ scope.Answers постоянно обновляется и готово к отправке в любое время , из-за привязки данных Angular. Но может быть, это потому, что я слишком сонлив :) В любом случае, было бы здорово, если бы вы могли сделать скрипку более развитой (но не слишком большой - привет-мировой стиль), чтобы полностью проиллюстрировать недостатки вашего нынешнего подхода. – vucalur
Как сказал @vucalur, я тоже не совсем понимаю, в чем проблема в скрипке. Я также не вижу рекурсии в примере. Можете ли вы обновить свой вопрос и лучше объяснить, каковы ваши проблемы? – Beyers
Да, попытался объяснить немного! Извините за то, что вы не разработали заявление о проблеме в первый раз, у меня странные идеи о краткости! – aksci