AngularJS-direktiivit: ng-init, ng-app, ng-model ja ng-repeat
Mikรค on AngularJS:n direktiivi?
A Direktiivi AngularJS:ssรค on komento, joka antaa HTML:lle uusia toimintoja. Kun Angular kรคy lรคpi HTML-koodin, se lรถytรครค ensin kรคskyt sivulta ja jรคsentรครค sitten HTML-sivun vastaavasti. Yksinkertainen esimerkki AngularJS-direktiivistรค, jonka olemme nรคhneet aiemmissa luvuissa, on "ng-mallidirektiivi". Tรคtรค direktiiviรค kรคytetรครคn sitomaan tietomallimme nรคkemyksemme mukaan.
Huomautus: Sinulla voi olla peruskulmakoodi HTML-sivulla ng-init-, ng-repeat- ja ng-model-kรคskyjen kanssa ilman ohjaimia. Nรคiden ohjeiden logiikka on Googlen tarjoamassa Angular.js-tiedostossa. Ohjaimet ovat seuraavan tason kulmaohjelmointirakenteita, jotka mahdollistavat liiketoimintalogiikan, mutta kuten mainittiin, jotta sovellus olisi kulmikas sovellus, ohjaimen kรคyttรถ ei ole pakollista.
Kuinka luoda direktiivejรค AngularJS: ssรค
Kuten mรครคritimme johdannossa, AngularJS-direktiivit ovat tapa laajentaa toimintoja HTML.
Kohdassa on 4 direktiiviรค angularjs.
Alla on luettelo AngularJS-direktiiveistรค sekรค esimerkkejรค, jotka selittรคvรคt jokaista niistรค.
ng-app AngularJS:ssรค
Tรคtรค kรคytetรครคn Angular.JS-sovelluksen alustamiseen. Kun tรคmรค ohje on kรคytรถssรค HTML-sivulla, se periaatteessa kertoo Angularille, ettรค tรคmรค HTML-sivu on angular.js-sovellus.
Esimerkki np-sovelluksesta
Alla oleva esimerkki nรคyttรครค, kuinka ng-app-direktiiviรค kรคytetรครคn. Tรคssรค esimerkissรค aiomme yksinkertaisesti nรคyttรครค, kuinka normaalista HTML-sovelluksesta tehdรครคn angularJS-sovellus.
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
</head>
<body>
<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<h1> Guru99 Global Event</h1>
<div ng-app="">
Tutorial Name : {{ "Angular" + "JS"}}
</div>
</body>
</html>
Koodin selitys:
- "ng-app"-direktiivi lisรคtรครคn div-tunnisteeseemme osoittamaan, ettรค tรคmรค sovellus on angular.js-sovellus. Huomaa, ettรค ng-app-direktiiviรค voidaan soveltaa mihin tahansa tagiin, joten se voidaan laittaa myรถs body-tunnisteeseen.
- Koska olemme mรครคrittรคneet tรคmรคn sovelluksen angular.js-sovellukseksi, voimme nyt hyรถdyntรครค angular.js-toimintoa. Meidรคn tapauksessamme kรคytรคmme lausekkeita yksinkertaisesti yhdistรคmรครคn 2 merkkijonoa.
Jos koodi suoritetaan onnistuneesti, seuraava tulos nรคytetรครคn, kun suoritat koodin selaimessa.
lรคhtรถ:
Tulos nรคyttรครค selvรคsti lausekkeen tulosteen, joka oli mahdollista vain, koska mรครคritimme sovelluksen angularjs-sovellukseksi.
ng-init AngularJS:ssรค
Tรคtรค kรคytetรครคn sovellustietojen alustamiseen. Joskus saatat tarvita joitain paikallisia tietoja sovelluksellesi, tรคmรค voidaan tehdรค ng-init-direktiivillรค.
Esimerkki ng-initistรค
Alla oleva esimerkki nรคyttรครค kuinka ng-init -direktiiviรค kรคytetรครคn.
Tรคssรค esimerkissรค aiomme luoda muuttujan nimeltรค "TutorialName" kรคyttรคmรคllรค ng-init-direktiiviรค ja nรคytรคmme tรคmรคn muuttujan arvon sivulla.
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
</head>
<body>
<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<h1> Guru99 Global Event</h1>
<div ng-app="" ng-init="TutorialName='Angular JS'">
Tutorial Name : {{ TutorialName}}
</div>
</body>
</html>
Koodin selitys:
- ng-init-direktiivi lisรคtรครคn div-tunnisteeseemme paikallisen muuttujan "TutorialName" mรครคrittรคmiseksi, ja tรคlle annettu arvo on "AngularJS".
- Kรคytรคmme AngularJs-lausekkeita nรคyttรคmรครคn muuttujan nimen "TutorialName" tulos, joka mรครคritettiin ng-init-direktiivissรคmme.
Jos koodi suoritetaan onnistuneesti, seuraava tulos nรคytetรครคn, kun suoritat koodin selaimessa.
lรคhtรถ:
Ulostulossa,
- Tulos nรคyttรครค selkeรคsti lausekkeen, joka sisรคltรครค merkkijonon "AngularJS", tulos. Tรคmรค johtuu siitรค, ettรค merkkijono "AngularJS" on mรครคritetty muuttujaan "TutorialName" ng-init-osassa.
ng-malli AngularJS:ssรค
Ja lopuksi, meillรค on ng-mallin direktiivi, jota kรคytetรครคn HTML-komponentin arvon sitomiseen sovellustietoihin. Alla oleva esimerkki nรคyttรครค kuinka ng-model-direktiiviรค kรคytetรครคn.
Esimerkki ng-mallista
Tรคssรค esimerkissรค
- Aiomme luoda 2 muuttujaa nimeltรค "mรครคrรค" ja "hinta". Nรคmรค muuttujat sidotaan kahteen tekstinsyรถttรถsรครคtimeen.
- Nรคytรคmme sitten kokonaissumman, joka perustuu sekรค hinta- ettรค mรครคrรคarvojen kertomiseen.
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
</head>
<body>
<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<h1> Guru99 Global Event</h1>
<div ng-app="" ng-init="quantity=1;price=5">
People : <input type="number" ng-model="quantity">
Registration Price : <input type="number" ng-model="price">
Total : {{quantity * price}}
</div>
</body>
</html>
Koodin selitys:
- ng-init-direktiivi lisรคtรครคn div-tunnisteeseen mรครคrittelemรครคn 2 paikallista muuttujaa; yksi on nimeltรครคn "mรครคrรค" ja toinen on "hinta".
- Nyt kรคytรคmme ng-mallin direktiiviรค sitomaan tekstilaatikot "Ihmiset" ja "Rekisterรถintihinta" paikallisiin muuttujiimme "mรครคrรค" ja "hinta".
- Lopuksi nรคytรคmme kokonaissumman lausekkeen kautta, joka on mรครคrรค- ja hintamuuttujien kertolasku.
Jos koodi suoritetaan onnistuneesti, seuraava tulos nรคytetรครคn, kun suoritat koodin selaimessa.
lรคhtรถ:
- Tulos nรคyttรครค selvรคsti ihmisten ja rekisterรถintihinnan arvojen kertoimen.
Jos nyt siirryt tekstiruutuihin ja muutat Henkilรถ- ja Rekisterรถintihinnan arvoa, Kokonaissumma muuttuu automaattisesti.
- Yllรค oleva tulos nรคyttรครค vain tietojen sitomisen tehon angularJs:ssรค, joka saavutetaan kรคyttรคmรคllรค ng-mallin direktiivi.
ng-repeat AngularJS:ssรค
Tรคtรค kรคytetรครคn HTML-elementin toistamiseen. Alla oleva esimerkki nรคyttรครค kuinka kรคyttรครค ng-repeat direktiivi.
Esimerkki ng-toistosta
Tรคssรค esimerkissรค
- Meillรค on joukko lukujen nimiรค taulukon muuttujassa ja
- Kรคytรค sitten ng-repeat-direktiiviรค nรคyttรครคksesi jokaisen taulukon elementin luettelokohteena
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
</head>
<body>
<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<h1> Guru99 Global Event</h1>
<div ng-app="" ng-init="chapters=['Controllers','Models','Filters']">
<ul>
<li ng-repeat="names in chapters">
{{names}}
</li>
</ul>
</div>
</body>
</html>
Koodin selitys:
- ng-init-direktiivi lisรคtรครคn div-tunnisteeseemme mรครคrittelemรครคn muuttuja nimeltรค "chapters", joka on 3 merkkijonoa sisรคltรคvรค taulukkomuuttuja.
- ng-repeat -elementtiรค kรคytetรครคn ilmoittamalla rivimuuttuja nimeltรค "names" ja kรคymรคllรค lรคpi jokainen elementti lukutaulukossa.
- Lopuksi nรคytรคmme paikallisen rivimuuttujan 'names' arvon.
Jos koodi suoritetaan onnistuneesti, seuraava tulos nรคytetรครคn, kun suoritat koodin selaimessa.
lรคhtรถ:
- Yllรค oleva tulos osoittaa vain, ettรค ng-repeat-direktiivi otti jokaisen taulukon arvon, jota kutsutaan "luvuiksi", ja loi HTML-luettelokohteet jokaiselle taulukon kohteelle.
Yhteenveto
- Direktiivejรค kรคytetรครคn laajentamaan HTML:n toimivuutta. Angular tarjoaa sisรครคnrakennettuja direktiivejรค, kuten
- ng-app โ Tรคtรค kรคytetรครคn kulmasovelluksen alustamiseen.
- ng-init โ Tรคtรค kรคytetรครคn sovellusmuuttujien luomiseen
- ng-malli โ Tรคtรค kรคytetรครคn HTML-sรครคtimien sitomiseen sovellustietoihin
- ng-repeat โ Kรคytetรครคn elementtien toistamiseen kulmikkaalla.









