AngularJS Interviewspørgsmål

Her er en liste over de begreber, der ofte bliver spurgt om i AngularJS-interviews.

  • Hvad er AngularJS?
  • Hvad er Model View Controller (MVC)?
  • Tovejs databinding
  • Hvad er afhængighedsinjektion, og hvordan fungerer det?
  • Hvad er $ scope i AngularJS?
  • Hvad er $ rootScope i AngularJS?
  • Hvordan implementeres routing i Angular?
  • Forklar direktiver
  • Hvordan kan vi oprette et brugerdefineret direktiv i Angular?
  • Forklar forskellen mellem service og fabrik
  • Forklar $ q service, udskudt og løfter

Eksempel på spørgsmål og svar

Spørgsmål: Angiv direktiverne i AngularJS?

Svar: ngBind, ngModel, ngClass, ngApp, ngInit, ng Gentag

Spørgsmål: Hvad er $ scope i AngularJS?

Svar: $ scope i AngularJS er et objekt, der refererer til en applikationsmodel. Det er et objekt, der binder view (DOM-element) med controlleren. I controller får du adgang til modeldata via $ scope-objekt. Som vi ved understøtter AngularJS MV * -mønsteret, $ scope-objekt bliver modellen til MV *.

Spørgsmål: Hvad er en SPA (enkeltsidet applikation) i AngularJS?

Svar: SPA'er (Single-Page Applications) er webapplikationer, der indlæser en enkelt HTML-side og dynamisk opdaterer den side, når brugeren interagerer med appen.

SPA'er bruger AJAX og HTML til at oprette flydende og responsive webapps uden konstant genindlæsning af sider. Dette betyder dog, at meget af arbejdet sker på klientsiden i JavaScript.

En enkelt HTML-side betyder her UI-svarside fra serveren. Kilden kan være ASP, ASP.NET, ASP.NET MVC, JSP og så videre.

En enkeltsides webapplikation leveres imidlertid som en side til browseren og kræver typisk ikke, at siden genindlæses, når brugeren navigerer til forskellige dele af applikationen. Dette resulterer i hurtigere navigation, mere effektive netværksoverførsler og bedre samlet ydelse for slutbrugeren.

Spørgsmål: Hvad er routing i AngularJS?

Svar: Routing er en kerneegenskab i AngularJS. Denne funktion er nyttig til opbygning af SPA'er (applikationer med en enkelt side) med flere visninger. I SPA'er er alle visninger forskellige HTML-filer, og vi bruger Routing til at indlæse forskellige dele af applikationen. Det er nyttigt at opdele applikationen logisk og gøre den håndterbar. Med andre ord hjælper Routing os med at opdele vores applikation i logiske visninger og binde dem med forskellige controllere.

Spørgsmål: Forklar ng-gentagelsesdirektivet.

Svar: Direktivet om gentagelse af ng er den mest anvendte AngularJS-direktivfunktion. Det gentager sig over en samling af varer og skaber DOM-elementer. Det overvåger konstant datakilden for at gengive en skabelon som svar på ændringer.

Spørgsmål: Hvad er forskellen mellem ng-If og ng-show / ng-hide.

Svar: ng-If-direktivet gengiver kun DOM-element, hvis betingelsen er sand. Mens ng-show / ng-hide-direktivet gengiver DOM-elementet, men ændrer klassen af ​​ng-hide / ng-show for at opretholde synligheden af ​​elementet på siden.

Spørgsmål: Hvordan annullerer du en timeout med AngularJs?

Svar: $ timeout er AngularJs 'indpakning til window.setTimeout, du annullerer en timeout, der anvender funktionen:

$timeout.cancel(function (){ // write your code. });

Spørgsmål: Hvad er afhængighedsinjektion?

Svar: Dependency Injection (DI) er et softwaredesignmønster, der beskæftiger sig med, hvordan komponenter får fat i deres afhængighed.

AngularJS-injektorundersystemet har ansvaret for at oprette komponenter, løse deres afhængighed og levere dem til andre komponenter efter anmodning.

Spørgsmål: Forklar ng-App-direktivet.

Svar: Direktivet om ng-app starter en AngularJS-applikation. Det definerer rodelementet. Det initialiseres eller startes automatisk af applikationen, når websiden, der indeholder AngularJS-applikationen, indlæses. Det bruges også til at indlæse forskellige AngularJS-moduler i AngularJS-applikationer.

Spørgsmål: Forklar ng-init-direktivet

Svar: Ng-init-direktivet initialiserer en AngularJS-applikations data. Det bruges til at sætte værdier til de variabler, der skal bruges i applikationen.

For eksempel har vi i nedenstående kode initialiseret en række lande ved hjælp af JSON-syntaks til at definere rækken af ​​lande.

 ... 

Spørgsmål: Hvordan deler du data mellem controllere?

Svar: Opret en AngularJS-tjeneste, der holder dataene og indsprøjter dem inde i controllerne. Brug af en tjeneste er den reneste, hurtigste og nemmeste måde at teste på.

Der er dog et par andre måder at implementere datadeling mellem controllere på, som:

  • Brug af begivenheder
  • Brug af $ parent, nextSibling, controllerAs og så videre til direkte adgang til controllerne
  • Brug af $ rootScope til at tilføje dataene til (ikke god praksis)

Spørgsmål: Hvad er forskellen mellem direktiverne ng-if og ng-show / hide?

Svar: ng-if opretter og viser kun DOM-elementet, når dets tilstand er sand. Hvis betingelsen er falsk eller ændres til falsk, vil den ikke skabe eller ødelægge den oprettede.

ng-show / hide vil altid generere DOM-elementet, men det anvender CSS-displayegenskaben baseret på vurderingen af ​​tilstanden.

Mere info om AngularJS:

  • Vinkel vs AngularJS
  • De bedste Angular og AngularJS tutorials