4
respostas

Capturar dados entre formulários(componentes).

Olá a todos, alguém pode me ajudar a resolver um problema? A situação é a seguinte: Preciso criar um cadastro onde o formulário desse cadastro é dividido em passos, tipo, primeiro o formulário dos dados pessoais como nome, telefone, e-mail, depois clico em uma setinha a direita e vem a parte de endereço, bairro, logradouro, etc, depois clico em uma nova setinha e vem o formulário de dados bancários... e por aí vai. Ao final de tudo eu submeto esses dados para o backend. A questão é, como estruturar isso? Inicialmente pensei que cada passo é um componente, então a cada novo passo, chamo o componente desejado passando a rota dele e isso vai sendo trocado no router-outlet, mas não sei como passar as informações de um formulário de um componente para o outro. Sugestões?

4 respostas

Para passar os dados de componente vc vai fazer da seguinte maneira

<componente [dados]="dados">

E dentro do seu componente.

class Componente {

@Input('dados')
dados:any;

constructor(){}

ngOnIni(){
    console.log(this.dados)
}

}

Olá Vinícius, Certo, da forma q vc mostrou eu consigo fazer o biding do template para o componente, mas supunha que depois disso eu quero passar a variável dados para um segundo componente. Como seria isso?

<componente1 *ngIf="etapa == 1" [dados]="dados">

<componente2 *ngIf="etapa == 2" [dados]="dados">

<componente3 *ngIf="etapa == 3" [dados]="dados">

Ou melhor ainda

<componente1 *ngIf="dados?.etapa == 1" [dados]="dados">

<componente2 *ngIf="dados?.etapa == 2" [dados]="dados">

<componente3 *ngIf="dados?.etapa == 3" [dados]="dados">