Quais são as características de um serviço do tipo Guard?
Ficou confuso entender o que era específico do caso apresentado na aula e o que conceitualmente temos que entender para caracterizar um serviço como nome.guard.ts.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Quais são as características de um serviço do tipo Guard?
Ficou confuso entender o que era específico do caso apresentado na aula e o que conceitualmente temos que entender para caracterizar um serviço como nome.guard.ts.
Olá Mauricio,
Os Route Guards do angular nos permitem controlar a acessibilidade de uma rota com base nas condições fornecidas na implementação de um serviço. Basicamente com os guards você consegue controlar o acesso autorizado de determinada rota ou adicionar alguma outra lógica para acesso.
Existem cinco tipos route guards no angular: CanActivate CanActivateChild CanLoad CanDeactivate Resolve.
O comando abaixo cria um guard a partir do CLI do angular
ng generate guard seu-guardCom relação a nomeação do arquivo 'nome.guard.ts' é apenas uma questão de code style, sugerido pela comunidade: https://github.com/angular/angular.io/issues/1721
Mais informações sobre guards nesse artigo: https://medium.com/angularbr/angular-6-route-guards-3a621846b8e4
Mas é possível ter Guards no Angular que não sejam Route Guards?
Obrigado pela resposta.
Mauricio,
Os Guards podem fazer diversas validações, mas o uso deles são baseados no roteamento da aplicação, principalmente por implementarem alguma dessas classes: CanActivate CanActivateChild CanLoad CanDeactivate Resolve
Seu uso são para rotas, o Guard pode dizer para alguma rota nevegar para outro lugar dependendo da sua regra, ou até cancelar determinada navegação.
https://angular.io/guide/router-tutorial-toh#milestone-5-route-guards
Muito obrigado.