<input ... (changes)="fireValidEvent()">
@Component({
selector: 'form-child',
template: `
<div>
<form #campaignForm="ngForm">
<input type="text" [ngModel]='data.input' name='input' required/>
</form>
</div>
`,
})
export class FormChild implements OnInit, AfterViewInit, AfterViewChange {
@Output() valid = new EventEmitter();
@ViewChild('campaignForm') campaignForm: NgForm;
constructor() {}
ngOnInit() {
this.campaignForm.valueChanges.subscribe(data => {
this.valid.emit(this.campaignForm.form.valid);
}
}
}
@Component({
selector: 'form-child',
template:
`
<div>
<form>
<input type="text" [ngModel]='data.input' name='input' required/>
</form>
</div>
`
,
})
export class FormChild implements OnInit, AfterViewInit, AfterViewChange {
@Input() data: any;
@Output() valid = new EventEmitter();
@ViewChild(NgForm) campaignForm: NgForm;
constructor() { }
ngOnInit() {
this.campaignForm.valueChanges.subscribe(data => {
this.valid.emit(this.campaignForm.form.valid);
}
}
}