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.

ng-app AngularJS:ssรค

<!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:

  1. "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.
  2. 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รถ:

ng-app AngularJS:ssรค

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.

ng-init AngularJS:ssรค

<!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:

  1. ng-init-direktiivi lisรคtรครคn div-tunnisteeseemme paikallisen muuttujan "TutorialName" mรครคrittรคmiseksi, ja tรคlle annettu arvo on "AngularJS".
  2. 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รถ:

ng-init AngularJS:ssรค

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.

ng-malli AngularJS:ssรค

<!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:

  1. ng-init-direktiivi lisรคtรครคn div-tunnisteeseen mรครคrittelemรครคn 2 paikallista muuttujaa; yksi on nimeltรครคn "mรครคrรค" ja toinen on "hinta".
  2. Nyt kรคytรคmme ng-mallin direktiiviรค sitomaan tekstilaatikot "Ihmiset" ja "Rekisterรถintihinta" paikallisiin muuttujiimme "mรครคrรค" ja "hinta".
  3. 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รถ:

ng-malli AngularJS:ssรค

  • 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.

ng-malli AngularJS:ssรค

  • 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

ng-repeat AngularJS:ssรค

<!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:

  1. ng-init-direktiivi lisรคtรครคn div-tunnisteeseemme mรครคrittelemรครคn muuttuja nimeltรค "chapters", joka on 3 merkkijonoa sisรคltรคvรค taulukkomuuttuja.
  2. ng-repeat -elementtiรค kรคytetรครคn ilmoittamalla rivimuuttuja nimeltรค "names" ja kรคymรคllรค lรคpi jokainen elementti lukutaulukossa.
  3. Lopuksi nรคytรคmme paikallisen rivimuuttujan 'names' arvon.

Jos koodi suoritetaan onnistuneesti, seuraava tulos nรคytetรครคn, kun suoritat koodin selaimessa.

lรคhtรถ:

ng-repeat AngularJS:ssรค

  • 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.

Tiivistรค tรคmรค viesti seuraavasti: