Я пытаюсь использовать директиву Angular, чтобы создать форму, в которой пользователь может указать количество детей, а для каждого ребенка - поле редактирования, позволяющее указать дату рождение должно быть введено.Используйте угловую директиву для генерации html из массива
Вот мой HTML:
<div ng-app>
<div ng-controller="KidCtrl">
<form>
How many children:<input ng-model="numChildren" ng-change="onChange()"/><br/>
<ul>
<li ng-repeat="child in children">
<child-dob></child-dob>
</li>
</ul>
</form>
</div>
</div>
Вот JS:
var app=angular.module('myApp', []);
function KidCtrl($scope) {
$scope.numChildren = 2
$scope.children = [{dob: "1/1/90"}, {dob: "1/1/95"}];
$scope.onChange = function() {
$scope.children.length = $scope.numChildren;
}
}
app.directive('childDob', function() {
return {
restrict: 'E',
template: 'Child {{$index+1}} - date of birth: <input ng-model="child.dob" required/>'
};
});
А вот a jsFiddle
Проблема заключается в том, что она просто не работает. Если я введу 1 в поле numChildren, тогда он отображает 1 маркерную точку для элемента списка, но он не отображает ни одного из HTML. Если я введу 2 в поле numChildren, то он не отображает элементы списка.
Может ли кто-нибудь объяснить, что я делаю неправильно?
Большое спасибо ...
Благодарит миллион - моя проблема только мы и я узнал полезные вещи в этом процессе! – IrishGuy
@ ZackAttack Добро пожаловать. – PSL