AngularJS ng-view con esempio: come implementare View
Oggigiorno, tutti avranno sentito parlare delle โSingle Page Applicationโ. Molti dei siti web piรน noti, come Gmail utilizzare il concetto di applicazioni a pagina singola (SPA).
SPA รจ il concetto in base al quale quando un utente richiede una pagina diversa, l'applicazione non accederร a quella pagina ma visualizzerร invece la visualizzazione della nuova pagina all'interno della pagina esistente stessa.
Dร all'utente la sensazione di non aver mai lasciato la pagina in primo luogo. Lo stesso puรฒ essere ottenuto in Angular con l'aiuto di Views insieme a Routes.
In questo tutorial imparerai-
- Cos'รจ una vista?
- Direttiva ng-view in AngularJS
- Come implementare ng-view in AngularJS con l'esempio
Cos'รจ una vista?
Una vista รจ il contenuto che viene mostrato all'utente. Fondamentalmente ciรฒ che l'utente vuole vedere, di conseguenza all'utente verrร mostrata quella vista dell'applicazione.
La combinazione di visualizzazioni e percorsi aiuta a dividere un'applicazione in visualizzazioni logiche e ad associare visualizzazioni diverse ai controller.
Dividere l'applicazione in diverse visualizzazioni e utilizzare il routing per caricare parti diverse dell'applicazione aiuta a dividere logicamente l'applicazione e renderla piรน gestibile.
Supponiamo di avere un'applicazione di ordinazione, in cui un cliente puรฒ visualizzare gli ordini ed effettuarne di nuovi.
Il diagramma seguente e la successiva spiegazione dimostrano come realizzare questa applicazione come applicazione a pagina singola.
Ora, invece di avere due pagine web diverse, una per "Visualizza ordini" e un'altra per "Nuovi ordini", in AngularJS, creerai invece due visualizzazioni diverse denominate "Visualizza ordini" e "Nuovi ordini" nella stessa pagina.
Avremo anche 2 collegamenti di riferimento nella nostra applicazione chiamati #mostra e #nuovo.
- Quindi quando l'applicazione va su MyApp/#show, mostrerร la vista Visualizza ordini, allo stesso tempo non lascerร la pagina. Aggiornerร semplicemente la sezione della pagina esistente con le informazioni di "Visualizza ordini". Lo stesso vale per la visualizzazione โNuovi Ordiniโ.
In questo modo diventa quindi piรน semplice separare l'applicazione in diverse visualizzazioni per renderla piรน gestibile e facile apportare modifiche quando necessario.
E ogni vista avrร un controller corrispondente per controllare la logica aziendale per quella funzionalitร .
Direttiva ng-view in AngularJS
"ngView" รจ una direttiva che integra il servizio $route includendo il modello renderizzato del percorso corrente nel file di layout principale (index.html).
Ogni volta che il percorso corrente cambia, la visualizzazione includeva le modifiche in base alla configurazione del servizio $route senza modificare la pagina stessa.
Copriremo percorsi in un capitolo successivo, per ora, ci concentreremo sull'aggiunta di piรน viste alla nostra applicazione.
Di seguito รจ riportato l'intero diagramma di flusso di come funziona l'intero processo. Esamineremo in dettaglio ogni processo nel nostro esempio mostrato di seguito.
Come implementare ng-view in AngularJS
Diamo un'occhiata ad un esempio di come possiamo implementare ng-view in AngularJS. Nel nostro esempio, presenteremo due opzioni all'utente,
- Uno รจ visualizzare un โEventoโ e l'altro รจ aggiungere un โEventoโ.
- Quando l'utente fa clic sul collegamento Aggiungi un evento, gli verrร mostrata la vista "Aggiungi evento" e lo stesso vale per "Visualizza evento".
Si prega di seguire i passaggi seguenti per mettere in atto questo esempio.
Passo 1) Includere il file angular-route come riferimento allo script.
Questo file di percorso รจ necessario per utilizzare le funzionalitร di avere piรน percorsi e visualizzazioni. Questo file puรฒ essere scaricato dal sito Web angularJS.
Passo 2) Aggiungi tag href e tag div.
In questa fase,
- Aggiungi tag href che rappresenteranno i collegamenti ad "Aggiunta di un nuovo evento" e "Visualizzazione di un evento".
- Inoltre, aggiungi un tag div con la direttiva ng-view che rappresenterร la vista. Ciรฒ consentirร l'inserimento della vista corrispondente ogni volta che l'utente fa clic sul collegamento "Aggiungi nuovo evento" o sul collegamento "Visualizza evento".
Passo 3) Nel tag script per Angular JS, aggiungi il seguente codice.
Non preoccupiamoci del routing, per ora, lo vedremo in un capitolo successivo. Per ora, vediamo solo il codice per le viste.
- Questa sezione di codice significa che quando l'utente fa clic sul tag href "NewEvent" che รจ stato definito in precedenza nel tag div. Andrร alla pagina web add_event.html e da lรฌ prenderร il codice e lo inserirร nella vista. In secondo luogo, per elaborare la logica aziendale per questa vista, vai su "AddEventController".
- Questa sezione di codice indica che quando l'utente fa clic sul tag href "DisplayEvent" definito in precedenza nel tag div. Andrร alla pagina web show_event.html, prenderร il codice da lรฌ e lo inserirร nella vista. In secondo luogo, per elaborare la logica aziendale per questa visualizzazione, andare su "ShowDisplayController".
- Questa sezione di codice indica che la visualizzazione predefinita mostrata all'utente รจ la visualizzazione DisplayEvent
Passo 4) Aggiungi controller per elaborare la logica aziendale.
Il prossimo passo รจ aggiungere controller per elaborare la logica aziendale sia per la funzionalitร "DisplayEvent" che per "Aggiungi nuovo evento".
Stiamo semplicemente aggiungendo una variabile messaggio a ciascun oggetto ambito per ciascun controller. Questo messaggio verrร visualizzato quando all'utente viene mostrata la vista appropriata.
<!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>
Passo 5) Crea pagine chiamate add_event.html e show_event.html
Successivamente, crea pagine chiamate add_event.html e show_event.html. Mantieni le pagine semplici, come mostrato di seguito.
Nel nostro caso, la pagina add_event.html avrร un tag di intestazione insieme al testo "Aggiungi nuovo evento" e avrร un'espressione per visualizzare il messaggio "Questo รจ per aggiungere un nuovo evento".
Allo stesso modo, la pagina show_event.html avrร anche un tag di intestazione per contenere il testo "Mostra evento" e avrร anche un'espressione di messaggio per visualizzare il messaggio "Questo รจ per visualizzare un evento".
Il valore della variabile del messaggio verrร inserito in base al controller collegato alla vista.
Per ogni pagina aggiungeremo la variabile message, che verrร iniettata da ciascun rispettivo controller.
- aggiungi_evento.html
<h2>Add New Event</h2>
{{message}}
- mostra_evento.html
<h2>Show Event</h2>
{{message}}
Se il codice viene eseguito correttamente, quando si esegue il codice nel browser verrร visualizzato il seguente output.
Produzione:
Dall'output possiamo notare 2 cose
- La barra degli indirizzi rifletterร la vista corrente visualizzata. Pertanto, poichรฉ la visualizzazione predefinita รจ mostrare la schermata Mostra evento, la barra degli indirizzi mostra l'indirizzo per "DisplayEvent".
- Questa sezione รจ la vista, che viene creata al volo. Poichรฉ la visualizzazione predefinita รจ Mostra evento, questo รจ ciรฒ che viene visualizzato all'utente.
Ora clicca sul collegamento Aggiungi nuovo evento nella pagina visualizzata. Ora otterrai l'output seguente.
Produzione:
- La barra degli indirizzi ora rifletterร che la vista corrente รจ ora la vista "Aggiungi nuovo evento". Tieni presente che ti troverai ancora nella stessa pagina dell'applicazione. Non verrai indirizzato a una nuova pagina di candidatura.
- Questa sezione รจ la vista e ora cambierร per mostrare il file HTML per la funzionalitร โAggiungi nuovo eventoโ. Quindi ora in questa sezione vengono visualizzati all'utente il tag di intestazione "Aggiungi nuovo evento" e il testo "Questo serve per aggiungere un nuovo evento".










