Diretivas AngularJS ng-click, ng-show e ng-hide com exemplo

Eventos AngularJS

Eventos AngularJS sรฃo as funcionalidades que permitem que os aplicativos da web interajam com as entradas do usuรกrio, como clique do mouse, entradas do teclado, passagem do mouse, etc. Os eventos precisam ser tratados em aplicativos baseados na web para executar tarefas e aรงรตes especรญficas. ร‰ acionado quando uma aรงรฃo especรญfica รฉ executada pelo usuรกrio.

Ao criar aplicativos baseados na Web, mais cedo ou mais tarde seu aplicativo precisarรก lidar com eventos DOM, como cliques do mouse, movimentos, pressionamentos de teclado, eventos de alteraรงรฃo, etc.

AngularJS pode adicionar funcionalidades que podem ser usadas para lidar com tais eventos.

Por exemplo, se houver um botรฃo na pรกgina e vocรช quiser processar algo quando o botรฃo for clicado, podemos usar a diretiva de evento Angular ng-click.

Examinaremos as diretivas de eventos em detalhes durante este curso.

O que รฉ a diretiva ng-click no AngularJS?

O โ€œdiretiva ng-clickโ€ em AngularJS รฉ usado para aplicar comportamento personalizado quando um elemento em HTML รฉ clicado. Esta diretiva รฉ normalmente usada para botรตes porque รฉ a mais comum para adicionar eventos que respondem a cliques realizados pelo usuรกrio. Tambรฉm รฉ usado para exibir alertas quando um botรฃo รฉ clicado.

Sintaxe de ng-click em AngularJS

<element
 ng-click="expression">
</element>

Vejamos um exemplo simples de como podemos implementar o evento click.

Exemplo de ng-clique em AngularJS

Neste exemplo de ng-click, teremos uma variรกvel de contador que aumentarรก de valor quando o usuรกrio clicar em um botรฃo.

Diretiva ng-click em AngularJS
Exemplo de ng clique em AngularJS
<!DOCTYPE html>
<html>
<head>
    <meta chrset="UTF 8">
    <title>Event Registration</title>
</head>
<body ng-app="">

<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.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:

  1. Primeiro, estamos usando a diretiva ng-init para definir o valor de uma variรกvel local count como 0.
  2. Em seguida, estamos introduzindo a diretiva de evento ng-click no botรฃo. Nesta diretiva, estamos escrevendo cรณdigo para incrementar o valor da variรกvel count em 1.
  3. Aqui estamos exibindo o valor da variรกvel count para o usuรกrio.

Se o cรณdigo for executado com sucesso, a seguinte saรญda serรก mostrada quando vocรช executar o cรณdigo no navegador.

Saรญda:

ng-clique em AngularJS

Da saรญda acima,

  • Podemos ver que o botรฃo โ€œIncrementโ€ รฉ exibido e o valor da variรกvel count รฉ inicialmente zero.
  • Quando vocรช clica no botรฃo Incrementar, o valor da contagem รฉ incrementado de acordo, conforme mostrado na imagem de saรญda abaixo.

ng-clique em AngularJS

O que รฉ a diretiva ng-show no AngularJS?

O Diretiva ng-Show em AngularJS รฉ usado para mostrar ou ocultar um determinado HTML elemento baseado na expressรฃo fornecida ao atributo ng-show. Em segundo plano, o elemento HTML รฉ mostrado ou oculto removendo ou adicionando a classe CSS .ng-hide ao elemento. ร‰ uma classe CSS predefinida que define a exibiรงรฃo como nenhuma.

Sintaxe de ng-show em AngularJS

<element
 ng-show="expression">
</element>

No fundo, o elemento รฉ mostrado ou oculto removendo ou adicionando a classe CSS .ng-hide ao elemento.

Exemplo de ng-show em AngularJS

Vejamos um ng-show em Angular. Exemplo de como podemos usar a diretiva โ€œngshow eventโ€ para exibir um elemento oculto.

Diretiva ng-show em AngularJS

Exemplo de ng show em Angular
<!DOCTYPE html>
<html>
<head>
    <meta chrset="UTF 8">
    <title>Event Registration</title>
</head>
<body>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.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:

  1. Estamos anexando a diretiva de evento ng-click ao elemento botรฃo. Aqui estamos nos referindo a uma funรงรฃo chamada โ€œShowHideโ€ que รฉ definida em nosso controlador โ€“ DemoController.
  2. Estamos anexando o atributo ng-show a uma tag div que contรฉm o texto Angular. Esta รฉ a tag que vamos mostrar/ocultar com base no atributo ng-show.
  3. No controlador, estamos anexando a variรกvel de membro โ€œIsVisibleโ€ ao objeto de escopo. Este atributo serรก passado para o atributo angular ng-show (etapa 2) para controlar a visibilidade do controle div. Inicialmente, estamos definindo isso como falso para que, quando a pรกgina for exibida pela primeira vez, a tag div fique oculta. Nota:- Quando os atributos ng-show sรฃo definidos como true, o controle subsequente que no nosso caso รฉ a tag div serรก mostrado ao usuรกrio. Quando o atributo ng-show for definido como falso, o controle ficarรก oculto do usuรกrio.
  4. Estamos adicionando cรณdigo ร  funรงรฃo ShowHide que definirรก a variรกvel de membro IsVisible como true para que o AngularJS show hide div na tag de clique possa ser mostrado ao usuรกrio.

Se o cรณdigo para ng-show e ng-hide em AngularJS for executado com sucesso, a seguinte saรญda serรก mostrada quando vocรช executar seu cรณdigo no navegador.

Saรญda: 1

Diretiva ng-show em AngularJS

Da saรญda,

  • Vocรช pode ver inicialmente que a tag div que contรฉm o texto โ€œAngularJSโ€ nรฃo รฉ mostrada e isso ocorre porque o objeto de escopo isVisible รฉ inicialmente definido como false, que รฉ posteriormente passado para a diretiva ng-show da tag div.
  • Ao clicar no botรฃo โ€œMostrar AngularJSโ€, ele altera a variรกvel do membro isVisible para se tornar verdadeira e, portanto, o texto โ€œAngularโ€ torna-se visรญvel para o usuรกrio. A saรญda abaixo serรก mostrada ao usuรกrio.

Diretiva ng-show em AngularJS

A saรญda agora mostra a tag div com o texto Angular.

O que รฉ a diretiva ng-hide no AngularJS?

O diretiva ng-hide em AngularJS รฉ uma funรงรฃo na qual um elemento serรก oculto se a expressรฃo for TRUE. Se a Expressรฃo for FALSE, o elemento serรก mostrado. No fundo, o elemento รฉ mostrado ou oculto removendo ou adicionando a classe CSS .ng-hide ao elemento.

Sintaxe de ng-hide em AngularJS

<element
 ng-hide="expression">
</element>

Por outro lado, com ng-hide, o elemento fica oculto se a expressรฃo for verdadeira e serรก mostrado se for falsa.

Exemplo de ng-hide em AngularJS

Vejamos o exemplo ng-hide semelhante ao mostrado para ngShow para mostrar como os atributos ng-hide e ng-show podem ser usados.

Diretiva ng-hide em AngularJS

Exemplo de ng-hide em AngularJS
<!DOCTYPE html>
<html>
<head>
    <meta chrset="UTF 8">
    <title>Event Registration</title>
</head>
<body>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.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 = $scope.IsVisible = true;
        }
        });
</script>

</body>
</html>

Code Explicaรงรฃo:

  1. Estamos anexando a diretiva de evento ng-click ao elemento botรฃo. Aqui estamos nos referindo a uma funรงรฃo chamada ShowHide que รฉ definida em nosso controlador โ€“ DemoController.
  2. Estamos anexando o atributo ng-hide a uma tag div que contรฉm o texto Angular. Esta รฉ a tag que usaremos para mostrar hide em Angular com base no atributo ng-show.
  3. No controlador, estamos anexando a variรกvel de membro isVisible ao objeto de escopo. Este atributo serรก passado para o atributo angular ng-show para controlar a visibilidade do controle div. Inicialmente, estamos definindo isso como falso para que, quando a pรกgina for exibida pela primeira vez, a tag div fique oculta.
  4. Estamos adicionando cรณdigo ร  funรงรฃo ShowHide que definirรก a variรกvel de membro IsVisible como true para que a tag div possa ser mostrada ao usuรกrio.

Se o cรณdigo para ng show hide for executado com sucesso, a seguinte saรญda serรก mostrada quando vocรช executar seu cรณdigo no navegador.

Saรญda:

Diretiva ng-hide em AngularJS

Da saรญda,

  • Vocรช pode ver inicialmente que a tag div que contรฉm o texto โ€œAngularJsโ€ รฉ mostrada inicialmente porque o valor da propriedade false รฉ enviado para a diretiva ng-hide.
  • Ao clicar no botรฃo โ€œHide Angularโ€ o valor da propriedade true serรก enviado para a diretiva ng-hide. Assim serรก mostrada a saรญda abaixo, na qual a palavra โ€œAngularโ€ ficarรก oculta.

Diretiva ng-hide em AngularJS

Diretivas de ouvinte de eventos AngularJS

Vocรช pode adicionar ouvintes de eventos AngularJS aos seus 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

Resumo

  • As diretivas de eventos sรฃo usadas em Angular para adicionar cรณdigo personalizado para responder a eventos gerados pela intervenรงรฃo do usuรกrio, como cliques de botรตes, cliques de teclado e mouse, etc.
  • A diretiva de evento mais comum รฉ a diretiva AngularJS ng-click, que รฉ usada para lidar com eventos de clique. O uso mais comum disso รฉ para cliques em botรตes AngluarJS, onde o cรณdigo pode ser adicionado para responder a um clique de botรฃo.
  • Os elementos HTML tambรฉm podem ser ocultados ou mostrados ao usuรกrio de acordo usando o Diretiva AngularJS ng-show, Diretiva Angular ng-hide e atributos ng-visible.

Resuma esta postagem com: