Diretivas AngularJS ng-click, ng-show e ng-hide
โก Resumo Inteligente
Os eventos do AngularJS permitem que um aplicativo web responda ร entrada do usuรกrio, como cliques do mouse, pressionamentos de teclas e aรงรตes de passar o mouse sobre um elemento. Diretivas como ng-click, ng-show e ng-hide vinculam esse comportamento declarativamente na marcaรงรฃo, em vez de por meio de ouvintes DOM manuais.

Eventos AngularJS
Eventos AngularJS Sรฃo as funcionalidades que permitem que as aplicaรงรตes web interajam com as entradas do usuรกrio, como cliques do mouse, entrada de teclado e passagem do cursor sobre o objeto. Os eventos devem ser tratados nas aplicaรงรตes web para executar tarefas e aรงรตes especรญficas, e cada evento รฉ acionado quando o usuรกrio realiza a aรงรฃo correspondente.
Ao criar aplicaรงรตes web, mais cedo ou mais tarde sua aplicaรงรฃo precisarรก lidar com eventos DOM, como cliques e movimentos do mouse, pressionamentos de teclado e eventos de alteraรงรฃo. AngularJS Fornece diretrizes que lidam com esses eventos de forma declarativa.
Por exemplo, se um botรฃo na pรกgina deve executar alguma aรงรฃo ao ser clicado, a diretiva de evento ng-click fornece esse gancho.
โ ๏ธ Aviso de suporte: AngularJS alcanรงou fim da vida em 31 de dezembro de 2021 e nรฃo recebe mais patches ou correรงรตes de seguranรงa da equipe do Angular. As diretivas abaixo permanecem vรกlidas para a manutenรงรฃo de aplicativos AngularJS 1.x existentes; para novos projetos, use a versรฃo moderna. Angular, onde essas diretivas sรฃo substituรญdas por associaรงรตes de eventos, como (click) e por *ngIf.
O que รฉ a diretiva ng-click no AngularJS?
O โdiretiva ng-clickโ Em AngularJS, aplica-se um comportamento personalizado quando um elemento HTML รฉ clicado. Normalmente, รฉ usado em botรตes, jรก que esses sรฃo os locais mais comuns para associar respostas de clique, e tambรฉm รฉ usado para exibir alertas ao clicar.
Sintaxe de ng-click em AngularJS
<element ng-click="expression"> </element>
Exemplo de ng-clique em AngularJS
Neste exemplo de ng-click, uma variรกvel de contador รฉ incrementada cada vez que o usuรกrio clica em um botรฃo.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Event Registration</title> </head> <body ng-app=""> <script src="https://code.angularjs.org/1.8.3/angular.js"></script> <h1>Guru99 Global Event</h1> <button ng-click="count = count + 1" ng-init="count=0"> Increment </button> <div>The Current Count is {{count}}</div> </body> </html>
Code Explicaรงรฃo:
- A diretiva ng-init define a variรกvel local.
countpara 0. - A diretiva ng-click no botรฃo incrementa
countpor 1 a cada clique. - A interpolaรงรฃo
{{count}}Exibe o valor atual para o usuรกrio.
Saรญda:
O botรฃo "Incrementar" รฉ exibido e a contagem รฉ inicialmente zero. Clicar nele incrementa o valor, como mostra a imagem abaixo.
O que รฉ a diretiva ng-show no AngularJS?
O diretiva ng-show mostra ou oculta um determinado HTML elemento baseado na expressรฃo fornecida ao atributo ng-show. Internamente, o elemento รฉ exibido ou ocultado removendo ou adicionando o .ng-hide Classe CSS, uma classe predefinida que define display para none.
Sintaxe de ng-show em AngularJS
<element ng-show="expression"> </element>
Exemplo de ng-show em AngularJS
Este exemplo usa ng-show para revelar um elemento oculto.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Event Registration</title> </head> <body> <script src="https://code.angularjs.org/1.8.3/angular.js"></script> <h1>Guru99 Global Event</h1> <div ng-app="DemoApp" ng-controller="DemoController"> <input type="button" value="Show Angular" ng-click="ShowHide()"/> <br><br><div ng-show="IsVisible">Angular</div> </div> <script type="text/javascript"> var app = angular.module('DemoApp', []); app.controller('DemoController', function($scope) { $scope.IsVisible = false; $scope.ShowHide = function() { $scope.IsVisible = true; }; }); </script> </body> </html>
Code Explicaรงรฃo:
- A diretiva ng-click no botรฃo faz referรชncia a um
ShowHidefunรงรฃo definida no controladorDemoController. - O atributo ng-show estรก associado ร div que contรฉm o texto Angular. ร esse elemento que tem sua visibilidade controlada.
- No controlador, o
IsVisibleA variรกvel membro รฉ colocada no objeto de escopo e inicializada com o valorfalse, portanto, a div fica oculta quando a pรกgina รฉ carregada pela primeira vez. Com ng-show, um valor de verdadeiro exibe o elemento e falso esconde isso. - O
ShowHideconjuntos de funรงรตesIsVisiblepara que a div fique visรญvel.
Saรญda:
A div que contรฉm o texto nรฃo รฉ exibida inicialmente, porque IsVisible Comeรงa como falso. Clicando Mostrar Angular Define como verdadeiro e o texto fica visรญvel.
O que รฉ a diretiva ng-hide no AngularJS?
O diretiva ng-hide Oculta um elemento quando sua expressรฃo รฉ avaliada como VERDADEIRA e exibe o elemento quando a expressรฃo รฉ FALSA โ o inverso exato de `ng-show`. Internamente, utiliza o mesmo... .ng-hide Classe CSS.
Sintaxe de ng-hide em AngularJS
<element ng-hide="expression"> </element>
Exemplo de ng-hide em AngularJS
Este exemplo espelha o exemplo do ng-show para que as duas diretivas possam ser comparadas diretamente.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Event Registration</title> </head> <body> <script src="https://code.angularjs.org/1.8.3/angular.js"></script> <h1>Guru99 Global Event</h1> <div ng-app="DemoApp" ng-controller="DemoController"> <input type="button" value="Hide Angular" ng-click="ShowHide()"/> <br><br><div ng-hide="IsVisible">Angular</div> </div> <script type="text/javascript"> var app = angular.module('DemoApp', []); app.controller('DemoController', function($scope) { $scope.IsVisible = false; $scope.ShowHide = function() { $scope.IsVisible = true; }; }); </script> </body> </html>
Code Explicaรงรฃo:
- A diretiva ng-click no botรฃo faz referรชncia a
ShowHidefuncionam emDemoController. - O ng-ocultar O atributo รฉ anexado ร div que contรฉm o texto Angular.
IsVisibleรฉ inicializado parafalseComo se trata de ng-hide em vez de ng-show, um valor falso significa que a div estรก oculta. visรญvel quando a pรกgina รฉ carregada pela primeira vez.- O
ShowHideconjuntos de funรงรตesIsVisiblepara verdadeiro, o que oculta a div.
Saรญda:
A div รฉ exibida inicialmente porque o valor `false` รฉ passado para `ng-hide`. Clicando Ocultar Angular passa a ser verdade e a palavra desaparece.
ng-show vs ng-hide vs ng-if: principais diferenรงas
Trรชs diretivas controlam se o usuรกrio vรช um elemento, e a escolha entre elas afeta tanto o comportamento quanto o desempenho de renderizaรงรฃo. As duas primeiras apenas alternam uma classe CSS, portanto o elemento estรก sempre presente na pรกgina; a terceira adiciona e remove o prรณprio elemento.
| Aspecto | ng-show | ng-ocultar | ng-if |
|---|---|---|---|
| Elemento visรญvel quando | A expressรฃo รฉ verdadeira. | A expressรฃo รฉ falsa. | A expressรฃo รฉ verdadeira. |
| Elemento no DOM | Sempre | Sempre | Somente enquanto for verdade |
| Mรฉtodo usado | Togglclasse .ng-hide | Togglclasse .ng-hide | Cria e destrรณi o elemento. |
| Coleira infantil | Compartilha o escopo pai | Compartilha o escopo pai | Cria um novo escopo filho |
| Observadores quando escondidos | Ainda ativo | Ainda ativo | Removido |
| Melhor para | Alternรขncia frequente do conteรบdo de luz | Condiรงรตes invertidas | Conteรบdo pesado exibido raramente |
Use `ng-show` ou `ng-hide` quando um elemento alterna entre elementos com frequรชncia, pois o elemento nunca รฉ reconstruรญdo e a alternรขncia custa apenas uma mudanรงa de classe. Use `ng-if` para seรงรตes dispendiosas exibidas raramente, jรก que remover o elemento tambรฉm remove seus observadores e reduz o custo de atualizaรงรฃo a cada ciclo.
Diretivas de ouvinte de eventos AngularJS
Vocรช pode adicionar ouvintes de eventos do AngularJS a elementos HTML usando um ou mais destes. directivas:
- ng-desfoque
- ng-mudanรงa
- ng-clique
- ng-cรณpia
- ng-corte
- ng-dblclick
- ng-foco
- ng-keydown
- ng-keypress
- ng-keyup
- ng-mousedown
- ng-mouseenter
- ng-mouseleave
- ng-mousemove
- ng-mouseover
- ng-mouseup
- ng-colar
- ng-enviar
Cada diretiva aceita uma expressรฃo, e o evento bruto do navegador estรก disponรญvel dentro dela como $event Quando o manipulador precisar de detalhes como a tecla pressionada ou as coordenadas do clique.









