Direttive AngularJS ng-click, ng-show e ng-hide
โก Riepilogo intelligente
Gli eventi di AngularJS consentono a un'applicazione web di rispondere agli input dell'utente, come clic del mouse, pressione dei tasti e azioni al passaggio del mouse. Direttive come ng-click, ng-show e ng-hide definiscono tale comportamento in modo dichiarativo nel markup, anzichรฉ tramite listener DOM manuali.

Eventi AngularJS
Eventi AngularJS Gli eventi sono le funzionalitร che consentono alle applicazioni web di interagire con gli input dell'utente, come i clic del mouse, l'input da tastiera e il passaggio del mouse. Nelle applicazioni web รจ necessario gestire gli eventi per eseguire attivitร e azioni specifiche, e ciascuno di essi viene attivato quando l'utente esegue l'azione corrispondente.
Quando si creano applicazioni web, prima o poi รจ necessario gestire eventi del DOM come clic e movimenti del mouse, pressione dei tasti della tastiera ed eventi di modifica. AngularJS fornisce direttive che gestiscono questi eventi in modo dichiarativo.
Ad esempio, se un pulsante sulla pagina deve elaborare qualcosa quando viene cliccato, la direttiva evento ng-click fornisce questo aggancio.
โ ๏ธ Avviso di assistenza: AngularJS ha raggiunto Fine della vita il 31 dicembre 2021 e non riceve ulteriori patch o correzioni di sicurezza dal team di Angular. Le direttive seguenti rimangono valide per la manutenzione delle applicazioni AngularJS 1.x esistenti; per i nuovi progetti, utilizzare le versioni moderne. Angular, dove queste direttive vengono sostituite da associazioni di eventi come (click) e *ngIf.
Cos'รจ la direttiva ng-click in AngularJS?
Migliori โdirettiva ng-clickโ In AngularJS, viene applicato un comportamento personalizzato quando si fa clic su un elemento HTML. Viene normalmente utilizzato sui pulsanti, poichรฉ sono il punto piรน comune in cui associare risposte al clic, e viene anche utilizzato per visualizzare avvisi al clic.
Sintassi di ng-click in AngularJS
<element ng-click="expression"> </element>
Esempio di ng-click in AngularJS
In questo esempio di ng-click, una variabile contatore viene incrementata ogni volta che l'utente fa clic su un pulsante.
<!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 Spiegazione:
- La direttiva ng-init imposta la variabile locale
counta 0. - La direttiva ng-click sul pulsante incrementa
countdi 1 ad ogni clic. - L'interpolazione
{{count}}mostra il valore corrente all'utente.
Produzione:
Il pulsante "Incrementa" viene visualizzato e il conteggio inizialmente รจ zero. Cliccandoci sopra, il valore viene incrementato, come mostrato nell'immagine sottostante.
Cos'รจ la direttiva ng-show in AngularJS?
Migliori Direttiva ng-show mostra o nasconde un dato HTML elemento basato sull'espressione fornita all'attributo ng-show. Internamente l'elemento viene mostrato o nascosto rimuovendo o aggiungendo l'espressione. .ng-hide Classe CSS, una classe predefinita che imposta display a none.
Sintassi di ng-show in AngularJS
<element ng-show="expression"> </element>
Esempio di ng-show in AngularJS
Questo esempio utilizza ng-show per mostrare un elemento nascosto.
<!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 Spiegazione:
- La direttiva ng-click sul pulsante fa riferimento a
ShowHidefunzione definita nel controllerDemoController. - L'attributo ng-show รจ associato al div contenente il testo Angular. Questo รจ l'elemento di cui viene controllata la visibilitร .
- Nel controller, il
IsVisibleLa variabile membro viene posizionata sull'oggetto scope e inizializzata afalse, quindi il div รจ nascosto al primo caricamento della pagina. Con ng-show, un valore di vero visualizza l'elemento e falso lo nasconde. - Migliori
ShowHideinsiemi di funzioniIsVisibleimpostandolo su true in modo che il div diventi visibile.
Produzione:
Il div che contiene il testo non viene mostrato inizialmente, perchรฉ IsVisible inizia come falso. Cliccando Mostra Angular Impostandolo su true, il testo diventa visibile.
Cos'รจ la direttiva ng-hide in AngularJS?
Migliori direttiva ng-hide nasconde un elemento quando la sua espressione restituisce TRUE e mostra l'elemento quando l'espressione รจ FALSE, l'esatto inverso di ng-show. Internamente utilizza lo stesso .ng-hide Classe CSS.
Sintassi di ng-hide in AngularJS
<element ng-hide="expression"> </element>
Esempio di ng-hide in AngularJS
Questo esempio rispecchia l'esempio di ng-show, in modo che le due direttive possano essere confrontate direttamente.
<!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 Spiegazione:
- La direttiva ng-click sul pulsante fa riferimento a
ShowHidefunzione inDemoController. - Migliori ng-hide L'attributo รจ associato al div contenente il testo Angular.
IsVisibleviene inizializzato afalsePoichรฉ si tratta di ng-hide anzichรฉ di ng-show, un valore false significa che il div รจ visibile al primo caricamento della pagina.- Migliori
ShowHideinsiemi di funzioniIsVisiblea vero, che nasconde il div.
Produzione:
Il div viene mostrato inizialmente perchรฉ a ng-hide viene passato false. Cliccando Nascondi Angular passa vero e la parola scompare.
ng-show vs ng-hide vs ng-if: differenze chiave
Tre direttive controllano se l'utente vede un elemento e la scelta tra di esse influisce sia sul comportamento che sulle prestazioni di rendering. Le prime due si limitano ad attivare/disattivare una classe CSS, quindi l'elemento รจ sempre presente nella pagina; la terza aggiunge e rimuove l'elemento stesso.
| Aspetto | ng-mostra | ng-hide | ng-se |
|---|---|---|---|
| Elemento visibile quando | L'espressione รจ vera | L'espressione รจ falsa | L'espressione รจ vera |
| Elemento nel DOM | Sempre | Sempre | Solo finchรฉ รจ vero |
| Metodo utilizzato | Toggles .ng-hide class | Toggles .ng-hide class | Crea e distrugge l'elemento |
| ambito infantile | Condivide l'ambito padre | Condivide l'ambito padre | Crea un nuovo ambito figlio |
| Osservatori quando sono nascosti | Ancora attivo | Ancora attivo | rimosso |
| migliori per | Commutazione frequente del contenuto luminoso | Condizioni invertite | I contenuti pesanti vengono mostrati raramente |
Utilizza `ng-show` o `ng-hide` quando un elemento viene visualizzato/nascosto frequentemente, poichรฉ l'elemento non viene mai ricostruito e la visualizzazione/nascondimento comporta solo un cambio di classe. Utilizza `ng-if` per le sezioni che richiedono molte risorse e vengono visualizzate raramente, poichรฉ la rimozione dell'elemento rimuove anche i suoi osservatori e riduce il costo di digest a ogni ciclo.
Direttive del listener di eventi AngularJS
ร possibile aggiungere listener di eventi AngularJS agli elementi HTML utilizzando uno o piรน di questi direttive:
- ng-sfocatura
- ng-cambiamento
- ng-clic
- ng-copia
- ng-cut
- ng-dblclick
- ng-focus
- ng-keydown
- ng-pressione dei tasti
- ng-keyup
- ng-mousedown
- ng-mouseenter
- ng-mouseave
- ng-mousemove
- ng-mouseover
- ng-mouseup
- ng-paste
- ng-invia
Ogni direttiva accetta un'espressione e l'evento del browser grezzo รจ disponibile al suo interno come $event quando il gestore ha bisogno di dettagli come il tasto premuto o le coordinate del clic.









