AngularJS ng-view s primjerom: Kako implementirati prikaz
Danas su svi ฤuli za โaplikacije s jednom stranicomโ. Mnoge poznate web stranice poput Gmail koristiti koncept jednostraniฤnih aplikacija (SPA).
SPA je koncept u kojem kada korisnik zatraลพi drugu stranicu, aplikacija neฤe otiฤi na tu stranicu, veฤ ฤe umjesto toga prikazati prikaz nove stranice unutar same postojeฤe stranice.
Korisniku daje osjeฤaj da uopฤe nije napustio stranicu. Isto se moลพe postiฤi u Angularu uz pomoฤ Viewsa u kombinaciji s Routesom.
U ovom vodiฤu nauฤit ฤete-
ล to je pogled?
Prikaz je sadrลพaj koji se prikazuje korisniku. Uglavnom ono ลกto korisnik ลพeli vidjeti, prema tome ฤe se korisniku prikazati taj prikaz aplikacije.
Kombinacija pogleda i ruta pomaลพe u dijeljenju aplikacije u logiฤkim pogledima i povezivanju razliฤitih pogleda s kontrolerima.
Dijeljenje aplikacije u razliฤite prikaze i koriลกtenje usmjeravanja za uฤitavanje razliฤitih dijelova aplikacije pomaลพe u logiฤnoj podjeli aplikacije i ฤini je lakลกom za upravljanje.
Pretpostavimo da imamo aplikaciju za naruฤivanje u kojoj kupac moลพe pregledavati narudลพbe i slati nove.
Donji dijagram i naknadno objaลกnjenje pokazuju kako napraviti ovu aplikaciju kao aplikaciju na jednoj stranici.
Sada, umjesto da imate dvije razliฤite web stranice, jednu za "Prikaz narudลพbi" i drugu za "Nove narudลพbe", u AngularJS, umjesto toga biste stvorili dva razliฤita prikaza pod nazivom "Prikaลพi narudลพbe" i "Nove narudลพbe" na istoj stranici.
Takoฤer ฤemo imati 2 referentne veze u naลกoj aplikaciji pod nazivom #show i #new.
- Dakle, kada aplikacija ode na MyApp/#show, prikazat ฤe prikaz Pregleda naloga, a istovremeno neฤe napustiti stranicu. Samo ฤe osvjeลพiti odjeljak postojeฤe stranice s informacijama "Prikaลพi narudลพbe". Isto vrijedi i za prikaz "Nove narudลพbe".
Dakle, na ovaj naฤin jednostavno postaje jednostavnije odvojiti aplikaciju u razliฤite prikaze kako bi se njome lakลกe upravljalo i kako bi se lakลกe mijenjale kad god je potrebno.
A svaki pogled ฤe imati odgovarajuฤi kontroler za kontrolu poslovne logike za tu funkcionalnost.
Direktiva ng-view u AngularJS
"ngView" je direktiva koja nadopunjuje uslugu $route ukljuฤivanjem prikazanog predloลกka trenutne rute u glavnu datoteku izgleda (index.html).
Svaki put kada se trenutna ruta promijeni, prikaz ukljuฤuje promjene prema konfiguraciji usluge $route bez promjene same stranice.
Mi ฤemo pokrivati destinacije u kasnijem poglavlju, za sada, usredotoฤit ฤemo se na dodavanje viลกe pogleda naลกoj aplikaciji.
Ispod je cijeli dijagram toka kako cijeli proces funkcionira. Detaljno ฤemo proฤi kroz svaki proces u naลกem primjeru prikazanom u nastavku.
Kako implementirati ng-view u AngularJS
Pogledajmo primjer kako moลพemo implementirati ng-view u AngularJS. U naลกem primjeru, predstavit ฤemo dvije opcije korisniku,
- Jedan je prikazati "Dogaฤaj", a drugi je dodati "Dogaฤaj".
- Kada korisnik klikne vezu Dodaj dogaฤaj, prikazat ฤe mu se prikaz za "Dodaj dogaฤaj", a isto vrijedi i za "Prikaลพi dogaฤaj".
Slijedite korake u nastavku kako biste postavili ovaj primjer.
Korak 1) Ukljuฤite datoteku kutne rute kao referencu skripte.
Ova datoteka rute je neophodna kako bi se iskoristile funkcionalnosti viลกe ruta i prikaza. Ova se datoteka moลพe preuzeti s web stranice angularJS.
Korak 2) Dodajte href oznake i div oznaku.
U ovom koraku
- Dodajte href oznake koje ฤe predstavljati veze na โDodavanje novog dogaฤajaโ i โPrikaz dogaฤajaโ.
- Takoฤer dodajte oznaku div s direktivom ng-view koja ฤe predstavljati pogled. To ฤe omoguฤiti umetanje odgovarajuฤeg prikaza svaki put kada korisnik klikne na "Dodaj novu vezu dogaฤaja" ili "Prikaลพi vezu dogaฤaja".
Korak 3) U svoju oznaku skripte za Angular JS dodajte sljedeฤi kod.
Nemojmo brinuti o usmjeravanju, za sada ฤemo to vidjeti u kasnijem poglavlju. Pogledajmo samo kod za prikaze za sada.
- Ovaj odjeljak koda znaฤi da kada korisnik klikne na href oznaku โNewEventโ koja je ranije definirana u div oznaci. Otiฤi ฤe na web stranicu add_event.html, odatle ฤe preuzeti kod i ubaciti ga u prikaz. Kao drugo za obradu poslovne logike za ovaj pogled, idite na "AddEventController".
- Ovaj odjeljak koda znaฤi da kada korisnik klikne na href oznaku โDisplayEventโ koja je ranije definirana u div oznaci. Otiฤi ฤe na web-stranicu show_event.html, preuzeti kod od tamo i ubaciti ga u prikaz. Drugo, za obradu poslovne logike za ovaj prikaz idite na "ShowDisplayController".
- Ovaj dio koda znaฤi da je zadani prikaz prikazan korisniku prikaz DisplayEvent
Korak 4) Dodajte kontrolere za obradu poslovne logike.
Sljedeฤe je dodavanje kontrolera za obradu poslovne logike za funkcije "DisplayEvent" i "Add New Event".
Jednostavno dodajemo varijablu poruke svakom objektu opsega za svaki kontroler. Ova poruka ฤe se prikazati kada se korisniku prikaลพe odgovarajuฤi prikaz.
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
<script src="https://code.angularjs.org/1.5.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.5.9/angular.min.js"></script>
<script src="lib/bootstrap.js"></script>
</head>
<body ng-app="sampleApp">
<h1> Guru99 Global Event</h1>
<div class="container">
<ul><li><a href="#!NewEvent"> Add New Event</a></li>
<li><a href="#!DisplayEvent"> Display Event</a></li>
</ul>
<div ng-view></div>
</div>
<script>
var app = angular.module('sampleApp',["ngRoute"]);
app.config(function($routeProvider){
$routeProvider.
when("/NewEvent",{
templateUrl : "add_event.html",
controller: "AddEventController"
}).
when("/DisplayEvent", {
templateUrl: "show_event.html",
controller: "ShowDisplayController"
}).
otherwise ({
redirectTo: '/DisplayEvent'
});
});
app.controller("AddEventController", function($scope) {
$scope.message = "This is to Add a new Event";
});
app.controller("ShowDisplayController",function($scope){
$scope.message = "This is display an Event";
});
</script>
</body>
</html>
Korak 5) Napravite stranice pod nazivom add_event.html i show_event.html
Zatim stvorite stranice pod nazivom add_event.html i show_event.html. Neka stranice budu jednostavne, kao ลกto je prikazano u nastavku.
U naลกem sluฤaju, stranica add_event.html imat ฤe oznaku zaglavlja zajedno s tekstom "Dodaj novi dogaฤaj" i imati izraz za prikaz poruke "Ovo je dodavanje novog dogaฤaja".
Sliฤno tome, stranica show_event.html takoฤer ฤe imati oznaku zaglavlja za drลพanje teksta "Prikaลพi dogaฤaj" i takoฤer imati izraz poruke za prikaz poruke "Ovo je za prikaz dogaฤaja."
Vrijednost varijable poruke bit ฤe umetnuta na temelju kontrolera koji je pripojen pogledu.
Za svaku stranicu ฤemo dodati varijablu poruke koja ฤe biti umetnuta iz svakog odgovarajuฤeg kontrolera.
- add_event.html
<h2>Add New Event</h2>
{{message}}
- show_event.html
<h2>Show Event</h2>
{{message}}
Ako se kรดd uspjeลกno izvrลกi, sljedeฤi ฤe se izlaz prikazati kada pokrenete kรดd u pregledniku.
Izlaz:
Iz izlaza moลพemo primijetiti 2 stvari
- Adresna traka ฤe odraลพavati koji je trenutni prikaz koji se prikazuje. Dakle, buduฤi da je zadani prikaz prikaz zaslona za prikaz dogaฤaja, adresna traka prikazuje adresu za "DisplayEvent".
- Ovaj odjeljak je Pogled koji se kreira u hodu. Buduฤi da je zadani prikaz prikaz dogaฤaja, to je ono ลกto se prikazuje korisniku.
Sada kliknite vezu Dodaj novi dogaฤaj na prikazanoj stranici. Sada ฤete dobiti donji izlaz.
Izlaz:
- Adresna traka sada ฤe odraลพavati da je trenutni prikaz sada prikaz "Dodaj novi dogaฤaj". Imajte na umu da ฤete i dalje biti na istoj stranici za prijavu. Neฤete biti preusmjereni na novu stranicu za prijavu.
- Ovaj odjeljak je Pogled i sada ฤe se promijeniti kako bi prikazao HTML za funkciju "Dodaj novi dogaฤaj". Sada se u ovom odjeljku korisniku prikazuje oznaka zaglavlja "Dodaj novi dogaฤaj" i tekst "Ovo je dodavanje novog dogaฤaja".










