Angular 2 Template Driven Form access ngForm in component

后端 未结 2 1763
感情败类
感情败类 2020-12-09 01:53

I want to use template driven forms in Angular 2 and I need to access the current ngForm in my directive, as local property and I don\'t want to pass them as parameter.

2条回答
  •  被撕碎了的回忆
    2020-12-09 02:30

    You need the ngControl attribute on the inputs you want to check.

    Show Frm

    and in the component you can access the "frm" variable with

    import {Component, ViewChild} from 'angular2/core';
    ...
    @ViewChild('frm') public userFrm: NgForm;
    ...
    public showFrm(): void{
        console.log(this.frm);
    }
    

    You can't access the frm in the constructor, it's not there at this moment, but in the ngAfterViewInit you can access it.

    since Angular 8 or so they have updated the parameters for ViewChild. Currently I need to use this syntax:

    @ViewChild('frm', { static: true })userFrm: NgForm;
    

提交回复
热议问题