AngularJS ng-klikk, ng-vis og ng-skjul direktiver
⚡ Smart oppsummering
AngularJS-hendelser lar en webapplikasjon reagere på brukerinput som museklikk, tastetrykk og musepekerhandlinger. Direktiver som ng-click, ng-show og ng-hide binder denne oppførselen deklarativt i markup i stedet for gjennom manuelle DOM-lyttere.
AngularJS-arrangementer
AngularJS-arrangementer er funksjonalitetene som lar webapplikasjoner samhandle med brukerinndata som museklikk, tastaturinndata og musepekerbevegelse. Hendelser må håndteres i webapplikasjoner for å kunne utføre spesifikke oppgaver og handlinger, og hver enkelt utløses når brukeren utfører den samsvarende handlingen.
Når du lager webapplikasjoner, må applikasjonen din før eller siden håndtere DOM-hendelser som museklikk og -bevegelser, tastaturtrykk og endringshendelser. AngularJS gir direktiver som håndterer disse hendelsene deklarativt.
Hvis for eksempel en knapp på siden skal behandle noe når den klikkes, sørger ng-click-hendelsesdirektivet for den kroken.
⚠️ Støttemelding: AngularJS nådde levetidens slutt 31. desember 2021 og mottar ingen ytterligere oppdateringer eller sikkerhetsrettelser fra Angular-teamet. Direktivene nedenfor er fortsatt gyldige for vedlikehold av eksisterende AngularJS 1.x-applikasjoner; for nytt arbeid, bruk moderne Vinkel, hvor disse direktivene erstattes av hendelsesbindinger som (click) og ved *ngIf.
Hva er ng-click-direktivet i AngularJS?
Ocuco "ng-klikk direktiv" I AngularJS brukes tilpasset oppførsel når et HTML-element klikkes. Det brukes vanligvis på knapper, siden det er de vanligste stedene å legge til klikkresponser, og det brukes også til å utløse varsler ved klikk.
Syntaks for ng-klikk i AngularJS
<element ng-click="expression"> </element>
Eksempel på ng-klikk i AngularJS
I dette ng-klikk-eksemplet øker en tellervariabel hver gang brukeren klikker på en knapp.
<!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 Forklaring:
- ng-init-direktivet setter den lokale variabelen
counttil 0. - ng-click-direktivet på knappen øker
countmed 1 for hvert klikk. - Interpolasjonen
{{count}}viser gjeldende verdi til brukeren.
Utgang:
Økningsknappen vises, og telleren er i utgangspunktet null. Hvis du klikker på den, økes verdien, som bildet nedenfor viser.
Hva er ng-show-direktivet i AngularJS?
Ocuco ng-show-direktivet viser eller skjuler en gitt HTML elementet basert på uttrykket som er gitt til ng-show-attributtet. Internt vises eller skjules elementet ved å fjerne eller legge til .ng-hide CSS-klasse, en forhåndsdefinert klasse som angir display til none.
Syntaks for ng-show i AngularJS
<element ng-show="expression"> </element>
Eksempel på ng-show i AngularJS
Dette eksemplet bruker ng-show for å avsløre et skjult element.
<!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 Forklaring:
- ng-click-direktivet på knappen refererer til en
ShowHidefunksjon definert i kontrollerenDemoController. - Attributtet ng-show er knyttet til div-en som inneholder teksten Angular. Dette er elementet hvis synlighet kontrolleres.
- I kontrolleren, den
IsVisiblemedlemsvariabelen plasseres på omfangsobjektet og initialiseres tilfalse, slik at div-en er skjult når siden lastes inn for første gang. Med ng-show, en verdi på sant viser elementet og falsk skjuler det. - Ocuco
ShowHidefunksjonssettIsVisibletil true slik at div-en blir synlig.
Utgang:
Diven som inneholder teksten vises ikke i utgangspunktet, fordi IsVisible starter som usann. Klikker Vis Angular setter den til sann, og teksten blir synlig.
Hva er ng-hide-direktivet i AngularJS?
Ocuco ng-hide direktiv skjuler et element når uttrykket evalueres til SANN, og viser elementet når uttrykket er USANN – det nøyaktige motsatte av ng-show. Internt bruker den det samme .ng-hide CSS-klasse.
Syntaks for ng-hide i AngularJS
<element ng-hide="expression"> </element>
Eksempel på ng-hide i AngularJS
Dette eksemplet speiler ng-show-eksemplet, slik at de to direktivene kan sammenlignes direkte.
<!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 Forklaring:
- ng-click-direktivet på knappen refererer til
ShowHidefungere iDemoController. - Ocuco ng-skjul Attributtet er knyttet til div-en som inneholder teksten Angular.
IsVisibleer initialisert tilfalseFordi dette er ng-hide i stedet for ng-show, betyr en falsk verdi at div-en er synlig når siden lastes inn for første gang.- Ocuco
ShowHidefunksjonssettIsVisibletil true, som skjuler div-en.
Utgang:
Div-en vises i utgangspunktet fordi false sendes til ng-hide. Klikking Skjul Angular går over i sant og ordet forsvinner.
ng-show vs ng-hide vs ng-if: Nøkkelforskjeller
Tre direktiver styrer om brukeren ser et element, og valget mellom dem påvirker både oppførsel og gjengivelsesytelse. De to første veksler bare en CSS-klasse, slik at elementet alltid er tilstede på siden; den tredje legger til og fjerner selve elementet.
| Aspekt | ng-show | ng-skjul | ng-hvis |
|---|---|---|---|
| Element synlig når | Uttrykket er sant | Uttrykket er usant | Uttrykket er sant |
| Element i DOM-en | Alltid | Alltid | Bare mens det er sant |
| Metode brukt | Toggles .ng-skjul klasse | Toggles .ng-skjul klasse | Skaper og ødelegger elementet |
| Underordnet omfang | Deler det overordnede omfanget | Deler det overordnede omfanget | Oppretter et nytt underordnet omfang |
| Overvåkere når de er skjult | Fortsatt aktiv | Fortsatt aktiv | fjernet |
| Best for | Hyppig veksling av lysinnhold | Inverterte forhold | Tungt innhold vises sjelden |
Bruk ng-show eller ng-hide når et element ofte veksler, fordi elementet aldri gjenoppbygges og vekslefunksjonen bare koster et klassebytte. Bruk ng-if for dyre seksjoner som vises sjelden, siden fjerning av elementet også fjerner dets overvåkere og reduserer kostnadene for sammendrag på hver syklus.
AngularJS-hendelseslytterdirektiver
Du kan legge til AngularJS-hendelseslyttere til HTML-elementer ved å bruke ett eller flere av disse direktiver:
- ng-uskarphet
- ng-endring
- ng-klikk
- ng-kopi
- ng-kutt
- ng-dblclick
- ng-fokus
- ng-taste ned
- ng-tastetrykk
- ng-tasten
- ng-musened
- ng-mouseenter
- ng-museblad
- ng-mus
- ng-museover
- ng-mouseup
- ng-lim
- ng-send inn
Hvert direktiv aksepterer et uttrykk, og den rå nettleserhendelsen er tilgjengelig i det som $event når behandleren trenger detaljer som den trykkede tasten eller klikkkoordinatene.










