AngularJS Hello World: Vaš prvi primjer programa
⚡ Pametni sažetak
AngularJS Hello World programi trebaju samo jednu HTML datoteku, jednu referencu skripte i dvije direktive, ng-app i ng-controller, za povezivanje varijable opsega kontrolera sa stranicom putem izraza s dvostrukom zagradom.

Najbolji način da vidite snagu AngularJS aplikacije je da napravite svoju prvu osnovnu aplikaciju "Hello World" u AngularJS-u.
Postoji mnogo integriranih razvojnih okruženja koja možete koristiti za AngularJS razvoj, neki od popularnih navedeni su u nastavku. U našem primjeru koristimo Webstorm kao naš IDE.
- Webstorm
- Sublime Text
- AngularJS Eclipse
- Visual Studio
Pozdrav svijetu, AngularJS
Napomena o verziji: AngularJS 1.x je prestao biti dostupan za dugoročnu podršku 31. prosinca 2021., a tim za framework potvrđuje da Podrška za AngularJS je službeno završena u siječnju 2022., s verzijom 1.8.3 kao konačnim izdanjem i bez sigurnosnih zakrpa nakon njega. Svaki korak i blok koda u nastavku sačuvan je točno onako kako je napisan. Novi projekti pripadaju modernom Angularu, gdje ista vježba počinje s ng serve i samostalna komponenta i još uvijek koristi isto {{ }} sintaksa interpolacije.
Primjer u nastavku prikazuje najlakši način za stvaranje vaše prve aplikacije “Hello world” u AngularJS-u.
Snimka zaslona s bilješkama u nastavku označava svaki dio te datoteke, a njezinih sedam brojeva odgovara Code Popis objašnjenja ispod. Snimljeno je u odnosu na raniju verziju 1.4.0, tako da se njegov redak skripte razlikuje od verzije prikvačene u kodu.
<!DOCTYPE html> <html ng-app="app"> <head> <meta charset="utf 8"> <title>Guru99</title> </head> <body> <h1 ng-controller="HelloWorldCtrl">{{message}}</h1> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script> angular.module("app", []).controller("HelloWorldCtrl", function($scope) { $scope.message="Hello World" } ) </script> </body> </html>
Code Objašnjenje:
- "ng-aplikacijaKljučna riječ ” koristi se za označavanje da se ova aplikacija treba smatrati AngularJS aplikacijom. Ovoj aplikaciji može se dati bilo koje ime.
- Kontroler je ono što se koristi za pohranu poslovne logike. U h1 oznaci želimo pristupiti kontrolor, što će imati logiku za prikaz „Hello World“, pa možemo reći da u ovoj oznaci želimo pristupiti kontroleru pod nazivom „HelloWorldCtrl“.
- Koristimo varijablu člana pod nazivom "message" koja nije ništa drugo nego rezervirano mjesto za prikaz poruke "Hello World".
- Oznaka „script“ koristi se za referenciranje angular.js skripte koja ima sve potrebne funkcionalnosti za AngularJS. Bez ove reference, ako pokušamo koristiti bilo koju AngularJS funkciju, ona neće raditi.
- „Kontroler“ je mjesto gdje zapravo stvaramo našu poslovnu logiku, a to je naš kontroler. Specifičnosti svake ključne riječi bit će objašnjene u sljedećim poglavljima. Važno je napomenuti da definiramo metodu kontrolera pod nazivom 'HelloWorldCtrl' na koju se referira u 2. koraku.
- Izrađujemo „funkciju“ koja će se pozvati kada naš kod pozove ovaj kontroler. Objekt $scope je poseban objekt u AngularJS-u, globalni objekt koji se koristi unutar AngularJS-a. Objekt $scope se koristi za upravljanje podacima između kontrolera i prikaza.
- Stvaramo varijablu članicu pod nazivom "poruka", dodjeljujemo joj vrijednost "Pozdrav svijete" i pridružujemo varijablu članicu objektu opsega.
BILJEŠKA: Direktiva ng-controller je ključna riječ definirana u AngularJS (Korak 2) i koristi se za definiranje kontrolera u vašoj aplikaciji. Ovdje u našoj aplikaciji koristili smo ključnu riječ ng-controller za definiranje kontrolera pod nazivom 'HelloWorldCtrl'. Stvarna logika za kontroler bit će kreirana u (Korak 5).
Ako se kôd uspješno izvrši, sljedeći će se izlaz prikazati kada pokrenete kôd u pregledniku.
Izlaz:
Prikazat će se poruka 'Hello World'.
Kako učitati AngularJS: CDN ili lokalnu datoteku
Gornji primjer funkcionira jer jedna linija uvlači okvir u stranicu prije nego što preglednik dođe do kraja tijela. AngularJS se isporučuje kao jedan JavaSkriptna datoteka, tako da prvi program ne treba korak izgradnje niti upravitelj paketa. Dovoljna je obična HTML datoteka otvorena u pregledniku.
Postoje dva načina za unos te datoteke.
- Referencirajte CDN kopiju. Primjer ukazuje na
code.angularjs.orgi priključuje verziju 1.6.9. Taj host i dalje poslužuje 1.x verzije, a najviša je 1.8.2, dok Google Hostane biblioteke više ne navode AngularJS. - Preuzmite lokalnu kopiju. Spremite datoteku pored HTML stranice i usmjerite oznaku skripte na nju. Lokalna kopija omogućuje da primjer radi izvan mreže, što je važno kada proxy blokira CDN.
<!-- Option 1: reference a CDN copy --> <script src="https://code.angularjs.org/1.8.2/angular.min.js"></script> <!-- Option 2: reference a downloaded copy in the same folder --> <script src="angular.min.js"></script>
Koristiti angular.js dok učim i angular.min.js u produkciji: neminificirana verzija ispisuje čitljiv stog traces, dok minificirana verzija izvještava o preimenovanim varijablama.
Nakon što se datoteka učita, ng-app pokreće framework. AngularJS traži taj atribut kada se dokument učitava, tretira element koji ga nosi kao korijen kompilacije i pokreće modul naveden u njegovoj vrijednosti. Slijede tri posljedice:
- Samo prvi
ng-appna stranici se automatski pokreće. Drugi se zanemaruje osim akoangular.bootstrappoziva se ručno. - Vrijednost mora imenovati modul registriran s kutni.modul, inače konzola izvještava
[$injector:modulerr]. - smještanje
ng-appnahtmlElement, kao što to čini primjer, smješta cijeli dokument pod AngularJS; uži kontejner također funkcionira.
Kako funkcioniraju {{ }} izrazi i ng-model vezanje
Dvostruke zagrade okolo message u h1 oznaci nisu rezervirano mjesto koje se popunjava jednom prilikom učitavanja. AngularJS kompajlira taj tekstualni čvor u promatrač na okolnom djelokrug, pa renderirani izlaz tracks $scope.message dok god stranica živi.
Ciklus se odvija u tri koraka.
- Kontroler zapisuje vrijednost na
$scope. - Sažetak uspoređuje svaki promatrani izraz s njegovim prethodnim rezultatom.
- Svaki izraz čija se vrijednost promijenila ponovno se prikazuje na mjestu.
Interpolirani izraz je stoga jednosmjeran, od opsega do prikaza. Dvosmjerno povezivanje zahtijeva ng-model je Direktiva dizajnirano za kontrole obrasca. Dodaj <input ng-model="message"> Pored naslova upišite u okvir, a naslov će se mijenjati svakim pritiskom tipke jer ng-model zapisuje vrijednost polja natrag u isto svojstvo opsega koje izraz prati.
Izrazi su namjerno ograničeni. Čitaju svojstva opsega, pozivaju metode opsega i tiho toleriraju nedefinirane vrijednosti, ali ne mogu deklarirati varijable, koristiti naredbe za upravljanje tokom ili dosezati globalne objekte kao što su window.
Kako popraviti praznu stranicu ili nerenderiranu {{ }}
Prvi AngularJS program ne uspijeva na jedan od dva vidljiva načina: stranica ostaje prazna ili doslovni tekst {{message}} pojavljuje se tamo gdje bi trebao biti Hello World. Oboje znači da okvir nikada nije preuzeo označavanje. Provedite provjere u nastavku redom, s otvorenom konzolom preglednika.
- Potvrdite učitavanje biblioteke. Otvorite ploču Mreža i potražite
angular.jsZahtjev. 404 ili nedostupan CDN ostavlja zagrade na zaslonu netaknutima. - Provjerite putanju skripte. Relativna putanja se rješava prema mapi koja sadrži HTML datoteku, pa kopija u
jspotrebe podmapejs/angular.min.js. - Provjerite ng-aplikaciju. Nedostajući ili pogrešno napisan atribut ne znači ništa za samouvođenje u sustav. Atribut se spaja crticom kao
ng-appu označavanju, iako je direktiva napisana velikim slovima u JavaSkripta. - Pročitajte grešku konzole.
[$injector:modulerr]znači da modul koji je nazvao ng-app nikada nije bio registriran.[ng:areq]obično znači da naziv kontrolera u oznaci ne odgovara nazivu koji je proslijeđen.controller(). - Potražite drugu ng-aplikaciju. Samo je prvi bootstrapiran, tako da zalutala kopija ostavljena na unutarnjem elementu tiho onemogućuje taj dio stranice.
Dva daljnja uzroka objašnjavaju većinu preostalih izvješća.
- Protokol datoteke. Ovaj primjer s jednom datotekom radi ispravno kada se otvori izravno s diska, ali bilo koji predložak dohvaćen putem XHR-a blokiran je pravilima izvornog koda preglednika. Poslužite mapu putem HTTP-a nakon što se predlošci pojave.
- Kratak bljesak aparatića za zube. Kada se oznaka renderira prije nego što je framework kompajlira, sirovi izraz je vidljiv na trenutak. Dodaj
ng-cloakelementu ili zamijenite izraz zang-bind="message", koji nikada ne prikazuje vlastito označavanje.
Ako se ništa od ovoga ne odnosi na vas, smanjite stranicu na gornji primjer i dodajte vlastiti kod unatrag redak po redak.


