Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

View não é atualizada ao efetuar uma nova busca

Saudações pessoal!

Estou desenvolvendo um sistema web em Angular, no qual possui uma barra de pesquisa no header. Visto isso, quando o botão de busca é clicado chama a seguinte função:

  onSearch(){ 
    this.router.navigate(['detalhesPedido',  this.pedido]);
  }

No meu componente "detalhesPedido", possuo o seguinte código:

export class DetalhesPedidoComponent implements OnInit {

  constructor(private activatedRoute: ActivatedRoute) { }

  pedidos: Order[];
  public paginaAtual = 1;

  ngOnInit(): void {
    this.pedidos = this.activatedRoute.snapshot.data.pedido;
  }

}

Quando a view é iniciada é utilizado o resolver abaixo para fazer a requisição http e retornar os detalhes do pedido buscado:

export class SearchOrderResolver implements Resolve<Observable<Order[]>>{

    constructor(private service: SearchOrderService){}

    pedido: string;
    pedidoPesquisa = {
        pedido:""
      };

    resolve(route: ActivatedRouteSnapshot, state:RouterStateSnapshot){
        this.pedidoPesquisa.pedido = route.params.pedido;
        this.pedidoPesquisa.pedido = this.pedidoPesquisa.pedido.replace(/\s/g, '');
        return this.service.searchOrderById(this.pedidoPesquisa);
    }

}

Até ai tudo está funcionando normalmente. Porém quando efetuo uma nova pesquisa, os valores do pedido não são atualizados na views apenas na URL.

Exemplo, quando eu busco o pedido 1234 a view "detalhesPedido" é exibida com sucesso, mostrando todas a informações do pedido. Contudo, caso eu busque o pedido 1235 o valor da URL é alterado para o novo pedido mas a view continua com os valores do pedido anterior.

1 resposta
solução!

Fala ai Renan, tudo bem? Te respondi na outra duvida: https://cursos.alura.com.br/forum/topico-view-nao-e-atualizada-ao-efetuar-uma-nova-busca-143435

Nos falamos por lá.

Abraços e bons estudos.