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.

ล to je View

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.

Direktiva ng-view u AngularJS

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.

Implementirajte ng-view u AngularJS

Korak 2) Dodajte href oznake i div oznaku.

U ovom koraku

  1. Dodajte href oznake koje ฤ‡e predstavljati veze na โ€œDodavanje novog dogaฤ‘ajaโ€ i โ€œPrikaz dogaฤ‘ajaโ€.
  2. 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".

Implementirajte ng-view u AngularJS

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.

  1. 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".
  2. 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".
  3. Ovaj dio koda znaฤi da je zadani prikaz prikazan korisniku prikaz DisplayEvent

    Implementirajte ng-view u AngularJS

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.

Implementirajte ng-view u AngularJS

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

Implementirajte ng-view u AngularJS

<h2>Add New Event</h2>

{{message}}
  • show_event.html

Implementirajte ng-view u AngularJS

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

Implementirajte ng-view u AngularJS

Iz izlaza moลพemo primijetiti 2 stvari

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

Implementirajte ng-view u AngularJS

Izlaz:

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

Saลพmite ovu objavu uz: