Olá Luiz, tudo bem com você?
Peço desculpas pela demora em obter um retorno.
A diretiva criada na aula, photo-owner-only.directive.ts
pode ser reaproveitada em outras tags HTML, como botões e inputs da aplicação, sem que seja necessário realizar a construção de uma lógica para cada tag. Na aula, o professor adicionou na tag i
como apresentada abaixo:
<i photoOwnerOnly [ownedPhoto]="photo" (click)="remove()" class="fa fa-trash-o fa-2x pull-right"></i>
Mas, caso queira fazer o uso por exemplo em uma tag button, basta adicionar a diretiva a esta tag, sem que seja necessário realizar a implementação novamente da lógica da diretiva:
<button photoOwnerOnly [ownedPhoto]="photo" (click)="remove()" ></button>
Todavia, uma alternativa para escalar esse bloqueio no botão é utilizar uma
uma propriedade booleana no componente para controlar o estado de bloqueio do botão. Por exemplo, você pode ter uma propriedade chamada bloquearBotao
e atribuí-la como true
quando desejar bloquear o botão. Em seguida, no HTML, você pode usar a diretiva disabled
para desabilitar o botão com base no valor dessa propriedade, como mostro abaixo:
<button [disabled]="bloquearBotao">Clique aqui</button>
Assim, você pode manipular facilmente o estado de bloqueio do botão diretamente no componente.
Outra forma, porém mais complexa, é criar um serviço para gerenciar o estado de bloqueio dos botões em toda a aplicação. Esse serviço pode ter métodos para definir o estado de bloqueio de um botão específico ou de vários botões. Dessa forma, o desenvolvedor pode usar os métodos fornecidos pelo serviço para bloquear ou desbloquear os botões conforme necessário. O serviço pode ser injetado nos componentes relevantes e os botões podem ser desabilitados com base no estado mantido pelo serviço.
Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Em caso de dúvidas estou à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!