chcę renderować formularz, opartej na dynamicznej konfiguracji pola:Jak używać pola Angular do wyświetlania dynamicznych pól formularzy?
$scope.fields = [
{ title: 'Label 1', type: 'text', value: 'value1'},
{ title: 'Label 2', type: 'textarea', value: 'value2'}
];
powinno to wyświetli coś że zachowuje się jak:
<div>
<label>{{field.title}}<br />
<input type="text" ng-model="field.value"/>
</label>
</div>
<div>
<label>{{field.title}}<br />
<textarea ng-model="field.value" rows="5" cols="50"></textarea>
</label>
</div>
Proste wdrożenie byłoby użyć if
sprawozdań do uczynienia szablony dla każdego typu pola. Jednakże, ponieważ Angular nie obsługuje stwierdzeń if
, jestem liderem w kierunku dyrektyw. Moim problemem jest zrozumienie, jak działa powiązanie danych. Model documentation for directives jest nieco gęsty i teoretyczny.
Mam wyśmiewali się przykładem szkielety, co staram się zrobić tutaj: http://jsfiddle.net/gunnarlium/aj8G3/4/
Problem polega na tym, że pola formularza nie są zobowiązane do modelu, więc $ scope.fields w submit () nie jest aktualizowany. Podejrzewam, że treść mojej funkcji dyrektywy jest całkiem źle ... :)
Idąc dalej, muszę również wspierać inne typy pól, jak przyciski radiowe, pola wyboru, wybiera itd
Prawdopodobny duplikat [AngularJS: nie można zmienić typu wejścia] (http://stackoverflow.com/questions/15148456/angularjs-cant-change-input-type) – Aides