Olá !
Referente ao processo para identificar alterações nos parâmetros das rotas, meu componente realiza a mudança dos parâmetros quando eu clico em um botão, deste modo:
this.router.navigate(['/busca/TODOS/' + this.codRastreio]);
Dentro do ngOnInit(), eu me inscrevi no evento de alterações dos parâmetros da rota para chamar uma função caso os mesmos sejam alterados:
ngOnInit() {
this.route.params.subscribe(params => {
this.params = params;
this.getData();
});
}
O código funciona normalmente, se eu clicar no botão os parâmetros mudam e a função getData é executada. Porém minha dúvida é a seguinte, caso os parâmetros continuem os mesmos eu ainda sim quero executar a função
this.getData();
Porém o params.subscribe() só vai ser executado se o parâmetro efetivamente mudar, se continuar o mesmo ele não é executado. Então agora quando clico no botão antes de mudar os parâmetros da rota eu realizo uma verificação para ver se os parâmetros mudaram ou se continuam o mesmo:
if(this.params['cod'] == this.codRastreio){
this.getData();
}else{
this.router.navigate(['/tracking/TODOS/' + this.codRastreio]);
}
Gostaria de saber se esta é a solução mais adequada para este problema em questão.