1
동일한 컨테이너에 복제하고 추가해야하는 이름과 나이 두 개의 필드가있는 템플릿이 있습니다. 다음 코드를 사용하여이 작업을 수행했습니다.복제 된 요소를 Angular4로 제출할 수 없습니다.
html 파일
<ng-template #tpl>
<div class="form-group">
<input type="text" id="name" class="form-control" name="name" ngModel
#name="ngModel">
<input type="text" id="age" class="form-control" name="age" ngModel
#age="ngModel">
<button type="Button" >Remove</button>
</div>
</ng-template>
<div>Some element</div>
<form #myForm="ngForm" novalidate (ngSubmit)="save(myForm)">
<div #container>
</div>
<button type="submit">Submit</button>
</form>
<button (click)="gettemplate()">Add Template</button>
<pre>{{myForm.value | json}}</pre>
TS
@ViewChild('container', { read: ViewContainerRef }) _vcr;
@ViewChild('tpl') tpl;
gettemplate(){
this._vcr.createEmbeddedView(this.tpl);
}
save(formvalue:NgForm){
console.log(formvalue.value);
}
하지만 양식을 제출 한 후 양식 값을하지 않았고, 또한 내가 제거 버튼을 클릭에 복제 된 요소를 제거해야 할 파일 .
감사 Yurzui보기는 잘 작동하고 매우 간단합니다. 하나의 업데이트, 이름 필드와 연령 필드의 다중 값을 얻으려면 아래의 것처럼 각 필드에 동적 ID를 추가했습니다. ' ' –
devipriya
그리고 그 문제는 무엇입니까? – yurzui
문제가 없다. 폼을 제출하는 동안 각 요소 값 집합을 가져 오기 위해 세션 ID를 요소 ID에 추가했다. – devipriya