1
名前と年齢の2つのフィールドがあり、同じコンテナにクローンして追加する必要があるテンプレートがあります。私は次のコードを使ってこれを達成しました。クローンされた要素を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