Iată o listă a conceptelor despre care sunt frecvent întrebați în interviurile AngularJS.

  • Ce este AngularJS?
  • Ce este Model View Controller (MVC)?
  • Legare de date bidirecțională
  • Ce este injectarea dependenței și cum funcționează?
  • Ce este $ scope în AngularJS?
  • Ce este $ rootScope în AngularJS?
  • Cum se implementează rutare în Angular?
  • Explicați directivele
  • Cum putem crea o directivă personalizată în Angular?
  • Explicați diferența între service și fabrică
  • Explicați serviciul $ q, amânat și promisiuni

Exemple de întrebări și răspunsuri

Întrebare: Enumerați directivele din AngularJS?

Răspuns: ngBind, ngModel, ngClass, ngApp, ngInit, ngRepeat

Întrebare: Ce este $ scope în AngularJS?

Răspuns: $ scope în AngularJS este un obiect care se referă la un model de aplicație. Este un obiect care leagă vizualizarea (elementul DOM) de controler. În controler, datele modelului sunt accesate prin intermediul obiectului $ scope. După cum știm, AngularJS acceptă modelul MV *, obiectul $ scope devine modelul MV *.

Întrebare: Ce este un SPA (aplicație cu o singură pagină) în AngularJS?

Răspuns: Aplicațiile cu o singură pagină (SPA-uri) sunt aplicații web care încarcă o singură pagină HTML și actualizează în mod dinamic acea pagină pe măsură ce utilizatorul interacționează cu aplicația.

SPA-urile folosesc AJAX și HTML pentru a crea aplicații web fluide și receptive, fără reîncărcări constante ale paginilor. Cu toate acestea, acest lucru înseamnă că o mare parte a muncii se întâmplă din partea clientului, în JavaScript.

O singură pagină HTML aici înseamnă o pagină de răspuns UI de la server. Sursa poate fi ASP, ASP.NET, ASP.NET MVC, JSP și așa mai departe.

Cu toate acestea, o aplicație web cu o singură pagină este livrată ca o singură pagină către browser și de obicei nu necesită reîncărcarea paginii, deoarece utilizatorul navighează către diferite părți ale aplicației. Acest lucru are ca rezultat o navigare mai rapidă, transferuri de rețea mai eficiente și performanțe generale mai bune pentru utilizatorul final.

Întrebare: Ce este rutare în AngularJS?

Răspuns: Rutare este o caracteristică de bază în AngularJS. Această caracteristică este utilă în construirea SPA-urilor (aplicații cu o singură pagină) cu mai multe vizualizări. În SPA-uri, toate vizualizările sunt fișiere HTML diferite și folosim Routing pentru a încărca diferite părți ale aplicației. Este util să împărțiți aplicația în mod logic și să o faceți gestionabilă. Cu alte cuvinte, Routing ne ajută să împărțim aplicația noastră în vizualizări logice și să le legăm cu diferite controlere.

Întrebare: Explicați directiva ng-repeat.

Răspuns: Directiva ng-repeat este cea mai utilizată caracteristică a Directivei AngularJS. Repetă o colecție de articole și creează elemente DOM. Monitorizează constant sursa de date pentru a reda din nou un șablon ca răspuns la schimbare.

Întrebare: Care este diferența dintre ng-If și ng-show / ng-hide.

Răspuns: Directiva ng-If redă elementul DOM numai dacă condiția este adevărată. În timp ce directiva ng-show / ng-hide redă elementul DOM, dar modifică clasa ng-hide / ng-show pentru a menține vizibilitatea elementului de pe pagină.

Întrebare: Cum anulați un timeout cu AngularJs?

Răspuns: $ timeout este pachetul AngularJs pentru window.setTimeout, anulați un timeout aplicând funcția:

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

Întrebare: Ce este injecția de dependență?

Răspuns: Injecția dependenței (DI) este un model de proiectare software care se ocupă de modul în care componentele devin din dependențele lor.

Subsistemul injectorului AngularJS este responsabil de crearea componentelor, rezolvarea dependențelor acestora și furnizarea acestora către alte componente, după cum se solicită.

Întrebare: Explicați directiva ng-App.

Răspuns: Directiva ng-app pornește o aplicație AngularJS. Acesta definește elementul rădăcină. Acesta inițializează sau bootstrapează automat aplicația atunci când este încărcată pagina web care conține aplicația AngularJS. De asemenea, este folosit pentru a încărca diferite module AngularJS în aplicațiile AngularJS.

Întrebare: Explicați directiva ng-init

Răspuns: Directiva ng-init inițializează datele unei aplicații AngularJS. Este folosit pentru a pune valori variabilelor care urmează să fie utilizate în aplicație.

De exemplu, în codul de mai jos am inițializat o matrice de țări care utilizează sintaxa JSON pentru a defini matricea de țări.

<div ng-app = "" ng-init = "countries = [{locale:'en-US',name:'United States'}, {locale:'en-GB',name:'United Kingdom'}, {locale:'en-FR',name:'France'}]">
   ...
</div>

Întrebare: Cum partajați datele între controlori?

Răspuns: Creați un serviciu AngularJS care va păstra datele și le va injecta în interiorul controlerelor. Folosirea unui serviciu este cel mai curat, rapid și simplu mod de testare.

Cu toate acestea, există câteva alte modalități de a implementa partajarea datelor între controlori, cum ar fi:

  • Folosirea evenimentelor
  • Folosind $ parent, nextSibling, controllerAs și așa mai departe pentru a accesa direct controlerele
  • Folosind $ rootScope pentru a adăuga date (nu este o practică bună)

Întrebare: Care este diferența dintre directivele ng-if și ng-show / hide?

Răspuns: ng-if va crea și afișa elementul DOM numai atunci când starea sa este adevărată. Dacă condiția este falsă sau se schimbă în falsă, aceasta nu va crea sau distruge cea creată.

ng-show / hide va genera întotdeauna elementul DOM, dar va aplica proprietatea de afișare CSS pe baza evaluării condiției.

Mai multe informații despre AngularJS:

  • Angular vs AngularJS
  • Cele mai bune tutoriale Angular și AngularJS