Neste artigo você aprenderá a enviar dados através de rotas no Angular, ou seja, passar valores entre páginas

Enviar Dados Através de Rotas no Angular capa

Fala programador(a), beleza? Bora aprender mais sobre Angular!

No desenvolvimento de aplicações web com Angular, uma das funcionalidades essenciais é a navegação entre componentes com o envio de dados.

Isso permite que informações sejam passadas de uma página para outra, mantendo a reatividade e a consistência do estado da aplicação.

Neste artigo, vamos explorar como enviar dados através das rotas no Angular, utilizando as melhores práticas e abordagens modernas.

Configurando o Angular Router

Antes de mais nada, é necessário configurar o RouterModule em nosso módulo de aplicação (app.module.ts), importando-o com as rotas desejadas:

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

const routes: Routes = [
  // Definindo rotas aqui
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

Definição de Rotas e Passagem de Dados Estáticos

Podemos definir dados estáticos em nossas rotas que serão acessíveis pelo componente que a rota renderiza:

const routes: Routes = [
  {
    path: 'pagina-detalhe',
    component: PaginaDetalheComponent,
    data: { informacao: 'Dado estático' }
  }
];

Utilização de Parâmetros de Rota para Dados Dinâmicos

Para dados dinâmicos, utilizamos parâmetros de rota que são segmentos da URL que podem variar:

const routes: Routes = [
  {
    path: 'usuario/:id',
    component: UsuarioComponent
  }
];

Acesso aos Dados de Rota no Componente

Dentro do componente UsuarioComponent, podemos acessar o parâmetro de rota id da seguinte maneira:

import { ActivatedRoute } from '@angular/router';

export class UsuarioComponent implements OnInit {
  userId: string;

  constructor(private route: ActivatedRoute) {}

  ngOnInit() {
    this.userId = this.route.snapshot.paramMap.get('id');
  }
}

Navegação Programática com Passagem de Dados

Além de links diretos, podemos navegar programaticamente e enviar dados utilizando o serviço Router:

import { Router } from '@angular/router';

export class AlgumComponente {

  constructor(private router: Router) {}

  navegarComDados() {
    this.router.navigate(['/usuario', 123], { state: { user: 'UsuarioExemplo' } });
  }
}

Recuperação de Dados com Router State

Para acessar os dados enviados pelo estado da rota, você pode fazer o seguinte no componente de destino:

import { Router } from '@angular/router';

export class UsuarioComponent implements OnInit {
  dataFromRouter: any;

  constructor(private router: Router) {}

  ngOnInit() {
    const navigation = this.router.getCurrentNavigation();
    this.dataFromRouter = navigation?.extras?.state;
  }
}

Quer aprender mais sobre programação? Conheça nosso canal no YouTube:

Conclusão

Enviar dados através de rotas no Angular é uma prática comum e essencial para a criação de aplicações dinâmicas e interativas.

Com a configuração correta do RouterModule e o uso apropriado dos serviços ActivatedRoute e Router, é possível gerenciar o envio e recebimento de informações entre componentes de maneira eficiente e organizada.

Está buscando evoluir como Programador? Confira o nossos cursos de programação.

Subscribe
Notify of
guest

0 Comentários
Inline Feedbacks
View all comments