2015-01-09 2 views
1

동적으로 서버에서 반환 된 필드의 배열을 기반으로 양식을 만드는 방법을 알아 내려고 노력하고있어. 이동적으로 양식을 만드는 방법을 사용하여

[{ 
    id: "title", 
    type: "text", /* Map to Input type=text */ 
    regex: "/^[a-zA-Z]+/" 
},{ 
    id: "summary", 
    type: "memo", /* Map to Textarea */ 
    regex: "/^[a-zA-Z]+/" 
},{ 
    id: "priority", 
    type: "list", /* Map to Select */ 
    options: [1,2,3,4,5] 
}] 

같은

뭔가 난 NG 반복으로,이 일의 좋은 방법을 찾아 캔트. 양식에 약 30 개의 필드와 15 개 이상의 서로 다른 입력 유형이 있으면 매우 추해집니다.

이 작업을 수행하는 데 '각도적인'방법이 필요하며 서버에서 controller.js 및 template.html을 동적으로 생성해야합니까?

답변

0

시도해보십시오. 대답이 아니라 단지 접근법입니다. 희망이 도움이 될 수 있습니다.

HTML :

<div ng-repeat="person in person"> 
<form class="form-group" name="signinForm"> 
<label>Name: 
<input class="form-control" ng-model="person.name" type="text"> 
</label> 
<label>Male: 
<input class="form-control" ng-model="person.gender" name="gender{{$index}}" type="radio" value="male"> 
</label> 
<label>Female: 
<input class="form-control" ng-model="person.gender" name="gender{{$index}}" type="radio" value="female"> 
</label><br> 
<label>Age 
<input class="form-control" ng-model="person.age" type="number"> 
</label> 
</form> 
<button type="button" ng-click="addPerson()">Add More</button> 
</div> 

JS :

어레이 내의 각 아이템은 동일한 필드를 가지는 경우에만 적용 정말로
$scope.initialize = [{}]; 
    $scope.person = {}; 
    $scope.addPerson = function(){ 
     $scope.initialize.push({});// adding more similar fields. 
    } 
+0

. 각 필드가 다른 유형일 수있을 때 매우 혼란스러워집니다. –

+0

예 .. 같은 분야입니다. – Ved

관련 문제