Я пытаюсь добавить пользовательскую директиву, которая будет перехватывать событие submit
и выполнять некоторые операции.
Это директива, которую я пытаюсь создать:
import { Directive, OnInit } from '@angular/core';
import { FormGroup } from '@angular/forms';
@Directive({
selector: '[validate-form]',
host: {
'(ngSubmit)': 'onSubmit($event)'
}
})
export class FormValidationDirective implements OnInit {
constructor(
public form: FormGroup
) {}
ngOnInit() {
}
onSubmit($event) {
console.warn("submit");
}
}
Поскольку я использую ее из общего модуля, я объявил ее так:
@NgModule({
declarations: [
FormValidationDirective,
//...
],
imports: [
CommonModule,
//...
],
exports: [
FormValidationDirective,
//...
]
})
export class mySharedModule { }
И вот как я это называю в шаблоне:
<form validate-form [formGroup]="myForm" (ngSubmit)="submit()">
, но доступ к странице компонента заканчивается ошибкой:
StaticInjectorError(Platform: core)[FormValidationDirective -> FormGroup]:
NullInjectorError: No provider for FormGroup!