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?

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.

Che cos'รจ una vista

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.

Direttiva ng-view in AngularJS

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.

Implementa ng-view in AngularJS

Passo 2) Aggiungi tag href e tag div.

In questa fase,

  1. Aggiungi tag href che rappresenteranno i collegamenti ad "Aggiunta di un nuovo evento" e "Visualizzazione di un evento".
  2. 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".

Implementa ng-view in AngularJS

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.

  1. 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".
  2. 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".
  3. Questa sezione di codice indica che la visualizzazione predefinita mostrata all'utente รจ la visualizzazione DisplayEvent

    Implementa ng-view in AngularJS

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.

Implementa ng-view in 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>

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

Implementa ng-view in AngularJS

<h2>Add New Event</h2>

{{message}}
  • mostra_evento.html

Implementa ng-view in AngularJS

<h2>Show Event</h2>
	
{{message}}

Se il codice viene eseguito correttamente, quando si esegue il codice nel browser verrร  visualizzato il seguente output.

Produzione:

Implementa ng-view in AngularJS

Dall'output possiamo notare 2 cose

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

Implementa ng-view in AngularJS

Produzione:

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

Riassumi questo post con: