2014-09-03 3 views
0

Попытка выяснить, как обновить мой динамический процесс формы до углового. Предварительно угловой я передал бы функцию в контекст шаблона. В пределах цикла jade я передавал значения в функцию, которая возвращала бы массив, который был передан в jade form mixin.Инициировать значения динамической формы внутри ng-repeat

Форма функция:

test_form: function(some_id){ 
    return { 
     form_action: '/some-page', 
     submit_label: 'Submit', 
     elements:{ 
      element_name: {type: 'hidden', value: some_id}, 
     } 
    }; 
} 

Джейд шаблон:

include /base/form 

each x in something 
    +form(test_form(x.id)) 

Теперь, когда я использую нг-повтор для этого цикла, я не могу создавать формы таким образом. Как я мог выполнить это правильно с угловым? Если возможно, я хотел бы использовать формуляр jade form.

+0

Вы можете иметь переменную что-то в области видимости и оставить код как есть ... – V31

+0

@ V31 Вы имеете в виду эту '' '+ форму (test_form ({{x.id}}))' ''? Не работает, экспресс дает ошибку компиляции нефрита. Jade скомпилирован в html. Угловые пожары после загрузки страницы, поэтому они не могут разговаривать друг с другом таким образом. –

ответ

0

я бы подойти к нему с чем-то вроде:

<dyno-form ng-repeat="item in something" item="item"><dyno-form> 

А затем определить шаблон в dynoForm директивы, чтобы посмотреть что-то вроде

<input ng-if="item.type == 'text'" type="text" ng-model="item.model"> 
<input ng-if="item.type == 'checkboxes'" ng-repeat="boxval in item.checkboxes"> ... 

и т.д. и т.д. и т.д. Затем вы можете определить объект JSON для данные и передать его в dynoform. Манипулирование json-моделью изменяет макет формы.

Конечно, я не уверен на 100%, я бы сделал это именно так; Я мог видеть области, где можно было бы извлечь некоторые дочерние директивы для разных типов и так далее. Но центральная тема декларирования условного рендеринга - вот то, что я получаю здесь.