あなたは次のように、サービスを使用することができます。
form.service.tsは
providers: [
...
FormService
...
]
ファイルappModuleプロバイダappModue.tsでこのサービスを登録し、その後
@Injectable()
export class FormService {
onFormSubmitted = new EventEmitter<any>();
}
を提出
firstComponent.tsファイル
@Component({
...
});
export class FirstComponent implements{
constructor(public formService:FormService) {}
onFormSubmit(formData:any) {
this.formService.onFormSubmitted.emit(formData);
}
}
secondComponent.tsフォームがあるとき第一成分がイベントを発する第1および第2の成分がFormServiceの同じインスタンスが、それらが持つEventEmitterの同じインスタンスを有する
export class SecondComponent implements OnInit{
constructor (public formService:FormService) {}
ngOnInit() {
this.formService.onFormSubmitted.subscribe((formData : any) => {
this.onFormSubmit(formData);
})
}
onFormSubmit(formData : any) {
// your logic for submitting the form
}
}
ファイル2番目のコンポーネントはそれを聞いています。 サービスを使用して呼び出されるクロスコンポーネント通信。
は、サブミットボタンがあるコンポーネントの子または兄弟のフォームを持つコンポーネントですか? –
@deezg現在はそうではありませんが、これは必須でしょうか? – Nicolas
必要はなく、コンポーネントの関係を理解しようとしています。だから、あなたは 'それはない'と言うとき、それはどういう意味ですか?それは子供ではなく、兄弟ではない?彼らの関係をちょっと説明してください。 –