Mam następujący statyczny forma angularjs:angularjs: Pola dodawane dynamicznie nie są zarejestrowane na FormController
<form name="myForm" class="form-horizontal">
<label>First Name:</label>
<input type="text" name="first_name" ng-model="entity.first_name">
<label>Last Name:</label>
<input type="text" name="last_name" ng-model="entity.last_name">
</form>
kątowa tworzy FormController dla mnie i publikuje ją w zakres (pod nazwą formularza). Co oznacza, że mam dostęp do właściwości takich jak:
$scope.myForm.first_name.$error
$scope.myForm.last_name.$invalid
...
Jest to bardzo przydatne!
Ale w moim przypadku buduję formę dynamicznie, wykorzystujące dyrektywami:
<form name="myForm" class="form-horizontal">
<field which="first_name"></field>
<field which="last_name"></field>
</form>
W <field>
dyrektyw nie rozwiązuje rzeczywistych <input>
elementów, aż po pewnym czasie (po jakie przyniosła pewne dane z serwera, powiązane dyrektywy itp.).
Problemem jest to, że nie ma właściwości pól są określone w sterowniku formy, jakby pola dynamiczne nie zarejestrować się w FormController:
// The following properties are UNDEFINED (but $scope.myForm exists)
$scope.myForm.first_name
$scope.myForm.last_name
jakiś pomysł, dlaczego? Jakiekolwiek rozwiązanie/obejście?
Można zobaczyć cały kod w tym jsFiddle:
http://jsfiddle.net/vincedo/3wcYV/
Może pokażesz nam kod dla 'field' dyrektywy? Podejrzewam, że jest to problem z zasięgiem. – Intelekshual
Pewnie! Zobacz: jsFiddle: http://jsfiddle.net/vincedo/3wcYV/ – AngularChef