1

私はこのテンプレートでこのコンポーネントを持っています:

@Component({
    selector: 'form-component',
    template:`
        <form #form="ngForm" (ngSubmit)="formComponentSubmit(form)">
            <ng-container #tmlContainer></ng-container>
            <button type="submit">Component form submit</button>
        </form>`
})
export class FormComponent implements OnInit{
    @ViewChild('tmlContainer', {read: ViewContainerRef}) tmlContainer;
    @Input() templateIn: TemplateRef<any>;

    ngOnInit() {
        this.tmlContainer.insert(this.templateIn.createEmbeddedView(null));
    }

    formComponentSubmit(form) {
        console.log('Component', form)
    }
}

入力フィールドを TemplateRef に追加してフォームに追加する方法を知る必要があります。

//edit 入力フィールドは、メイン アプリ内のフォームではなく、コンポーネント内のフォームにのみ存在する必要があります。

このリンクの例を確認できます: https://plnkr.co/edit/cWWxRUlMfR6ecNbga8Y7?p=preview

4

0 に答える 0