AngularJS-moduulit
โก รlykรคs yhteenveto
AngularJS:n moduulit toimivat kontteina, jotka ryhmittelevรคt ohjaimet, palvelut, direktiivit ja suodattimet yhden loogisen rajan taakse, joten ng-app-direktiivi lataa vain ne toiminnot, joita yksittรคinen sivu todella tarvitsee suorituksen aikana.
Mikรค on AngularJS-moduuli?
Moduuli mรครคrittelee sovelluksen toiminnallisuuden, jota sovelletaan koko HTML-sivuun ng-app-direktiivin avulla. Se mรครคrittelee toiminnallisuuden, kuten palvelut, direktiivienja suodattimia tavalla, joka helpottaa niiden uudelleenkรคyttรถรค eri sovelluksissa.
Yllรค oleva kuva tiivistรครค tuon rajan.
Kaikissa aiemmissa opetusohjelmat, olisit varmasti huomannut ng-app-direktiivin, jota kรคytetรครคn Angular-pรครคsovelluksesi mรครคrittelemiseen. Tรคmรค on yksi AngularJS:n moduulien keskeisistรค kรคsitteistรค.
โ ๏ธ Versiohuomautus: AngularJS-tuki pรครคttyi tammikuussa 2022. Moderni Kulma- kรคyttรครค @NgModule-moduulia, ja oletuksena on kรคytรถssรค erilliset komponentit. Alla oleva koodi on historiallista.
Kuinka luoda moduuli AngularJS: ssรค
Ennen kuin aloitamme moduulin tarkastelun, katsotaanpa esimerkkiรค AngularJS-sovellus ilman moduulia ja sitten ymmรคrrรคt moduulien tarpeen sovelluksessasi.
Tarkastellaanpa tiedoston โDemoController.jsโ luomista ja alla olevan koodin lisรครคmistรค tiedostoon
function DemoController($scope) {
$scope.a=1;
$scope.b=2;
$scope.c=$scope.b + $scope.a;
}
Yllรค olevaan koodiin olemme luoneet toiminnon nimeltรค "DemoController", joka toimii ohjaimena sovelluksessamme.
Tรคssรค ohjaimessa suoritamme vain kahden muuttujan a ja b yhteenlaskun ja nรคiden muuttujien yhteenlaskun mรครคritรคmme uudelle muuttujalle c ja mรครคritรคmme sen takaisin muuttujalle c. laajuus esine.
Luodaan nyt pรครคasiallinen Sample.html, josta tulee pรครคsovelluksemme. Lisรคtรครคn alla oleva koodinpรคtkรค HTML-sivullemme.
<body ng-app=""> <div ng-controller="DemoController"> <h3> Guru99 Global Event</h3> {{c}}
Yllรค olevaan koodiin sisรคllytรคmme DemoControllerimme ja kutsumme sitten $scope.c-muuttujan arvon lausekkeen kautta.
Mutta huomaa ng-app-direktiivimme, sillรค on tyhjรค arvo.
- Tรคmรค tarkoittaa pohjimmiltaan sitรค, ettรค kaikki ng-app-direktiivin puitteissa kutsutut ohjaimet ovat kรคytettรคvissรค maailmanlaajuisesti. Ei ole rajaa, joka erottaisi useita ohjaimia toisistaan.
- Nykypรคivรคn ohjelmoinnissa tรคmรค on huono kรคytรคntรถ, ettรค ohjaimia ei ole liitetty mihinkรครคn moduuleihin ja tehdรค niistรค maailmanlaajuisesti saatavilla. Jokin looginen raja on mรครคriteltรคvรค ohjaimille.
Ja tรคssรค moduulit tulevat kรคyttรถรถn. Moduuleja kรคytetรครคn luomaan tuo rajojen erottelu ja auttamaan ohjaimien erottamisessa toiminnallisuuden perusteella.
Muutetaan yllรค oleva koodi moduulien toteuttamiseksi ja liitetรครคn ohjain tรคhรคn moduuliin
var sampleApp = angular.module('sampleApp',[]); sampleApp.controller('DemoController', function($scope) { $scope.a=1; $scope.b=2; $scope.c=$scope.b + $scope.a; });
Huomioikaa yllรค kirjoitetun koodin keskeiset erot
-
var sampleApp = angular.module('sampleApp',[]);
Olemme luomassa erityisesti AngularJS-moduulia nimeltรค "sampleApp". Tรคmรค muodostaa loogisen rajan tรคmรคn moduulin sisรคltรคmille toiminnoille. Joten yllรค olevassa esimerkissรคmme meillรค on moduuli, joka sisรคltรครค ohjaimen, joka suorittaa 2 laajuusobjektin lisรครคmisen roolin. Nรคin ollen meillรค voi olla yksi moduuli, jolla on looginen raja, joka sanoo, ettรค tรคmรค moduuli suorittaa vain sovelluksen matemaattisten laskelmien toiminnot.
-
sampleApp.controller('DemoController', function($scope)
Liitรคmme nyt ohjaimen AngularJS-moduuliimme "sampleApp". Tรคmรค tarkoittaa, ettรค jos emme viittaa 'sampleApp'-moduuliin HTML-koodissamme, emme voi viitata ohjaimemme toiminnallisuuteen.
Setteri vastaan โโgetter: angular.module luo moduulin vain, kun riippuvuus taulukko vรคlitetรครคn; ilman sitรค kutsu hakee olemassa olevan moduulin.
Pรครค-HTML-koodimme nรคyttรครค nyt alla olevalta
<body ng-app="sampleApp"> <div ng-controller="DemoController"> <h3> Guru99 Global Event</h3> {{c}}
Huomioi tรคrkeimmรคt erot yllรค kirjoitetussa koodissa ja edellisessรค koodissamme
<body ng-app="sampleApp">
Kehotunnisteessamme
- Sen sijaan, ettรค meillรค olisi tyhjรค ng-app-direktiivi, kutsumme nyt moduulia sampleApp:ksi.
- Kutsumalla tรคtรค sovellusmoduulia voimme nyt kรคyttรครค ohjainta "DemoController" ja demo-ohjaimen toimintoja.
Moduulit ja ohjaimet AngularJS:ssรค
In angularjs, kehityksessรค kรคytetty malliping Nykyaikaisten verkkosovellusten ydin on luoda useita moduuleja ja ohjaimia useiden toiminnallisuustasojen loogiseksi erottamiseksi.
Normaalisti moduulit sรคilytetรครคn erillรครคn JavaKรคsikirjoitus tiedostot, jotka olisivat erilaisia โโkuin pรครคsovellustiedosto.
Katsotaanpa esimerkkiรค, kuinka tรคmรค voidaan saavuttaa.
Alla olevassa esimerkissรค
- Luomme tiedoston nimeltรค Utilities.js, joka sisรคltรครค kaksi moduulia, toisen yhteenlaskun ja toisen alilaskun suorittamiseen.tracseen.
- Luomme sitten 2 erillistรค sovellustiedostoa ja kรคytรคmme apuohjelmatiedostoa kustakin sovellustiedostosta.
- Toisessa sovellustiedostossa kรคytรคmme moduulia yhteenlaskua varten ja toisessa moduulia alilaskuja varten.tracseen.
Vaihe 1) Mรครคritรค koodi useille moduuleille ja ohjaimille.
var AdditionApp = angular.module('AdditionApp',[]); AdditionApp.controller('DemoAddController', function($scope) { $scope.a=5; $scope.b=6; $scope.c=$scope.a + $scope.b; }); var SubractionApp = angular.module('SubtractionApp',[]); SubractionApp.controller('DemoSubtractController', function($scope) { $scope.a=8; $scope.b=6; $scope.d=$scope.a - $scope.b; });
Huomioikaa yllรค kirjoitetun koodin avainkohdat
-
var AdditionApp = angular.module('AdditionApp',[]); var SubractionApp = angular.module('SubtractionApp',[]);
Luodaan kaksi erillistรค AngularJS-moduulia, joista toinen on nimeltรครคn 'AdditionApp' ja toinen 'Sub'.tractionApp'.
-
AdditionApp.controller('DemoAddController', function($scope) SubractionApp.controller('DemoSubtractController', function($scope)
Jokaiselle moduulille on mรครคritelty kaksi erillistรค ohjainta, toinen on nimeltรครคn DemoAddController ja toinen on DemoSub.tractOhjain. Jokaisella ohjaimella on erillinen logiikka yhteenlaskulle ja alilaskulle.tracnumeroiden jakaminen.
Vaihe 2) Luo tรคrkeimmรคt sovellustiedostot. Luodaan tiedosto nimeltรค ApplicationAddition.html ja lisรคtรครคn alla oleva koodi
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Addition</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="lib/utilities.js"></script>
</head>
<body>
<div ng-app = "AdditionApp" ng-controller="DemoAddController">
Addition :{{c}}
</div>
</body>
</html>
Huomioikaa yllรค kirjoitetun koodin avainkohdat
-
<script src="/lib/Utilities.js"></script>Viitaamme Utilities.js-tiedostoomme pรครคsovellustiedostossamme. Tรคmรคn avulla voimme viitata mihin tahansa tรคssรค tiedostossa mรครคritettyihin AngularJS-moduuleihin.
-
<div ng-app = "AdditionApp" ng-controller="DemoAddController">
Pรครคsemme AdditionApp-moduuliin ja DemoAddControlleriin kรคyttรคmรคllรค ng-app-direktiiviรค ja ng-ohjain vastaavasti.
-
{{c}}Koska viittaamme edellรค mainittuun moduuliin ja ohjaimeen, voimme viitata $scope.c-muuttujaan lausekkeen kautta. Lauseke on tulos kahden laajuusmuuttujan a ja b lisรครคmisestรค, jotka suoritettiin 'DemoAddController'-ohjaimessa
Samalla tavalla teemme sub-tiedostoilletraction funktio.
Vaihe 3) Luo pรครคsovellustiedostosi. Luodaan tiedosto nimeltรค โApplicationSubtraction.htmlโ ja lisรครค alla oleva koodi
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Addition</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="lib/utilities.js"></script>
</head>
<body>
<div ng-app = "SubtractionApp" ng-controller="DemoSubtractController">
Subtraction :{{d}}
</div>
</body>
</html>
Huomioikaa yllรค kirjoitetun koodin avainkohdat
-
<script src="/lib/Utilities.js"></script>Viitaamme Utilities.js-tiedostoomme pรครคsovellustiedostossamme. Tรคmรคn avulla voimme viitata mihin tahansa tรคssรค tiedostossa mรครคritettyihin moduuleihin.
-
<div ng-app = " SubtractionApp " ng-controller=" DemoSubtractController ">
Kรคytรคmme 'Sub'-valikkoatractionApp'-moduuli ja DemoSubtractController kรคyttรคmรคllรค ng-app-direktiiviรค ja ng-controlleria.
-
{{d}}Koska viittaamme edellรค mainittuun moduuliin ja ohjaimeen, voimme viitata $scope.d-muuttujaan lausekkeen kautta. Lauseke on alifunktion tulos.trackahden laajuusmuuttujan a ja b mรครคritys, joka suoritettiin 'DemoSub'-ohjelmassatractController-ohjain
