typescript - Lendo um parâmetro de string de consulta dentro de um guard Angular 4?
Estou tentando ler um parâmetro de string de consulta dentro do método canActivate de um guardião do Angular. Infelizmente, o parâmetro queryParams tanto de ActivatedRouteSnapshot quanto de RouterStateSnapshot está vazio, mesmo que a string de consulta exista.
Exemplo: bla.com/?uid=123
Esse parâmetro de string de consulta pode ser enviado para qualquer URL e eu quero que meu guard possa analisá-lo.
Resposta #1
URL de exemplo: http://example.com/oper/sale?code=seu_código_aqui
import { ActivatedRouteSnapshot } from "@angular/router";
...
canActivate(route: ActivatedRouteSnapshot) {
console.log("code", route.queryParams.code);
}
Resposta #2
Ou se você estiver usando parâmetro na sua rota:
canActivate(route: ActivatedRouteSnapshot) {
console.log("Id:", route.params['uid']);
}
