Как вызвать событие отправки реактивной формы angular 5 из его родительского и главного родительского компонента?

У меня есть три компонента - L1, L2 и L3, вложенные, как показано ниже:  Иерархия компонентов

Компонент L3 имеет реактивную форму. Мне нужно отправить эту форму, используя кнопку в компонентах L2 и L1.

Я попытался использовать @Viewchild, но не смог заставить его работать. Вот что я пробовал .


person Shrinivas    schedule 03.12.2018    source источник
comment
Поделитесь ссылкой на код, а не только ссылкой на развернутое приложение.   -  person Ashish Ranjan    schedule 03.12.2018
comment
Простите за это. См. Здесь: stackblitz.com/edit/. Я также обновил ссылку в описании.   -  person Shrinivas    schedule 03.12.2018


Ответы (1)


У меня была такая же проблема, и я решил ее, но создал общедоступный метод для отправки формы

public submitForm() {
  this.myForm.submitted = true;
}

<form [formGroup]='myForm' (ngSubmit)="submitForm()">
  // ...
</form>

Затем, создав ссылочную переменную дочернего компонента в родительском и прародительском компоненте и используя эту переменную ref, я могу назвать ее как

this.child.submitForm();
const valid = this.child.myForm.valid;
console.log(valid);

Это должно решить вашу проблему.

person Jayant Patil    schedule 03.12.2018