Guida per principianti a Angular 4 Routing

Nella seconda parte della serie di tutorial per principianti della serie angolare, hai appreso quali servizi sono disponibili in Angular 4 e come scrivere i servizi angolari e usarli in un componente angolare. 

In questa parte della serie di tutorial, imparerai come gestire il routing in Angular 4.

Iniziare

Inizierai clonando il codice sorgente dalla prima parte della serie di tutorial.

git clone https://github.com/royagasthyan/AngularComponent.git

Una volta ottenuto il codice sorgente, accedere alla directory del progetto e installare le dipendenze richieste.

cd AngularComponent npm install

Dopo aver installato le dipendenze, avviare l'applicazione digitando il seguente comando:

ng servire

Dovresti avere l'applicazione in esecuzione su http: // localhost: 4200 /.

Routing e navigazione

Quando un utente accede a un'applicazione Web o a un sito Web, il routing è il mezzo per navigare all'interno dell'applicazione. Per passare da una vista a un'altra, l'utente fa clic sui collegamenti disponibili in una pagina.

Angular fornisce un router per semplificare la definizione dei percorsi per le applicazioni Web e per spostarsi da una vista a un'altra nell'applicazione.

Creazione del primo percorso 

Per implementare il routing nell'applicazione Web, farai uso del modulo Angular Routing. Crea un file chiamato app.routing.ts dentro il src / app cartella.

Per iniziare con l'implementazione del routing, è necessario importare il file RouterModule e Itinerari da @ angular / router.

importare RouterModule, Routes da '@ angular / router';

Avrai anche bisogno del ModuleWithProviders modulo per l'implementazione del routing.

import ModuleWithProviders da '@ angular / core / src / metadata / ng_module';

Crea ed esporta una variabile chiamata AppRoutes nel app.routing.ts, quale sarebbe una raccolta di tutte le rotte all'interno dell'applicazione Angular.

export const AppRoutes: Routes = [];

Esistono due modi per creare il modulo di instradamento: RouterModule.forRoot e RouterModule.forChild.

RouterModule.forRoot è per creare percorsi per l'intera applicazione, e RouterModule.forChild è per creare percorsi per moduli caricati pigri.

In questo tutorial, starai usando RouterModule.forRoot per creare percorsi per l'applicazione radice.

Crea il modulo di routing usando RouterModule.forRoot dentro il app.routing.ts file.

export const ROUTING: ModuleWithProviders = RouterModule.forRoot (AppRoutes);

Aggiungi un percorso all'interno del AppRoutes lista per mostrare il nostro CalcComponent

percorso: 'calc', componente: CalcComponent

Ecco come app.routing.ts aspetto del file:

importare RouterModule, Routes da '@ angular / router'; import ModuleWithProviders da '@ angular / core / src / metadata / ng_module'; import CalcComponent da './calc/calc.component' export const AppRoutes: Routes = [percorso: 'calc', componente: CalcComponent]; export const ROUTING: ModuleWithProviders = RouterModule.forRoot (AppRoutes);

Come visto nel codice, il percorso che è stato aggiunto è / calc, che renderebbe il CalcComponent.

Importa il PERCORSO costante dentro il app.module.ts file.

import ROUTING da './app.routing'

Aggiungi il PERCORSO alla sezione delle importazioni.

 importazioni: [BrowserModule, FormsModule, ROUTING],

Ecco come app.module.ts aspetto del file:

importare BrowserModule da '@ angular / platform-browser'; import NgModule da '@ angular / core'; import ROUTING da './app.routing' import AppComponent da './app.component'; import CalcComponent da './calc/calc.component' import FormsModule da '@ angular / forms'; importare RouterModule da '@ angular / router'; @NgModule (dichiarazioni: [AppComponent, CalcComponent], importa: [BrowserModule, FormsModule, ROUTING], provider: [], bootstrap: [AppComponent]) classe di esportazione AppModule  

Salvare le modifiche precedenti e riavviare l'applicazione Angolare utilizzando ng servire.

Puntare il browser su http: // localhost: 4200 / calc e si avrà il CalcComponent visualizzati.

Implementazione della navigazione

Con il percorso creato sopra, proverai a implementare la navigazione. Iniziamo creando un componente principale per la nostra applicazione chiamato HomeComponent.

Crea una cartella chiamata casa dentro il src / app cartella. Dentro il casa cartella, creare un file chiamato home.component.ts. Ecco come appare:

importare Component da '@ angular / core'; @Component (selector: 'home', templateUrl: 'home.component.html') export class HomeComponent  

Crea un file modello chiamato home.component.html. Aggiungi il seguente codice ad esso:

Benvenuti in Home Page

Come visto nel codice sopra, hai usato routerLink per impostare la navigazione del collegamento. routerLink è importato dal RouterModule.

Aggiungi il HomeComponent al NgModule nel app.module.ts file.

importare BrowserModule da '@ angular / platform-browser'; import NgModule da '@ angular / core'; import ROUTING da './app.routing' import AppComponent da './app.component'; import CalcComponent da './calc/calc.component'; import HomeComponent da './home/home.component'; import FormsModule da '@ angular / forms'; importare RouterModule da '@ angular / router'; @NgModule (dichiarazioni: [AppComponent, CalcComponent, HomeComponent], importa: [BrowserModule, FormsModule, ROUTING], provider: [], bootstrap: [AppComponent]) classe di esportazione AppModule  

Poiché utilizzerai il routing angolare, devi visualizzare la posizione nella nostra applicazione in cui il router visualizza le viste. Come hai fatto il bootstrap AppComponent in fase di esecuzione, aggiungere il seguente codice al app.component.html file.

La presa del router indica al router angolare dove visualizzare le viste.

Dentro il app.routing.ts file, includere il percorso predefinito da visualizzare come HomeComponent. Ecco come appare il codice modificato:

percorso: ", componente: HomeComponent

Ecco come app.routing.ts aspetto del file:

importare RouterModule, Routes da '@ angular / router'; import ModuleWithProviders da '@ angular / core / src / metadata / ng_module'; import CalcComponent da './calc/calc.component'; import HomeComponent da './home/home.component'; export const AppRoutes: Routes = [percorso: ", componente: HomeComponent, percorso: 'calc', componente: CalcComponent]; export const ROUTING: ModuleWithProviders = RouterModule.forRoot (AppRoutes);

Salvare le modifiche precedenti e riavviare l'applicazione Web. Puntare il browser su http: // localhost: 4200 / e si avrà il HomeComponent visualizzato di default.

Clicca sul link nel componente home e sarai indirizzato al componente calcolatrice.

Ora aggiungiamo un percorso per gestire le richieste di routing non definite. Ogni volta che l'utente naviga verso una rotta inesistente, viene visualizzato un messaggio che indica che la rotta non è stata trovata.

Aggiungi un nuovo componente chiamato non trovato. Crea una cartella chiamata non trovato dentro il src / app cartella. Crea un file chiamato notfound.component.ts. Aggiungi il seguente codice:

importare Component da '@ angular / core'; @Component (selector: 'notfound', templateUrl: 'notfound.component.html', styleUrls: ['notfound.component.css']) classe di esportazione NotFoundComponent  

Crea un file chiamato notfound.component.html e aggiungi il seguente codice:

Componente non trovato

Aggiungerai un percorso con caratteri jolly per gestire rotte inesistenti. Aggiungi il seguente codice al app.routing.ts file:

percorso: '**', componente: NotFoundComponent

Ecco come app.routing .ts aspetto del file:

importare RouterModule, Routes da '@ angular / router'; import ModuleWithProviders da '@ angular / core / src / metadata / ng_module'; import CalcComponent da './calc/calc.component'; import HomeComponent da './home/home.component'; import NotFoundComponent da './notfound/notfound.component'; export const AppRoutes: Routes = [percorso: ", componente: HomeComponent, percorso: 'calc', componente: CalcComponent, percorso: '**', componente: NotFoundComponent]; export const ROUTING: ModuleWithProviders = RouterModule .forRoot (AppRoutes);

Salvare le modifiche precedenti e riavviare il server. Puntare il browser su http: // localhost: 4200 / abc e verrà visualizzato il messaggio di eccezione non trovata.

Avvolgendolo

In questo tutorial, hai imparato le basi su come gestire il routing in Angular. Hai imparato come definire un percorso e navigare attraverso un'applicazione Angolare. 

Hai imparato come gestire percorsi inesistenti definendo un percorso con caratteri jolly. Hai imparato a usare routerLink per collegare a un'altra rotta.

Come è stata la tua esperienza di apprendimento del routing angolare? Fateci sapere i vostri pensieri e suggerimenti nella sezione commenti qui sotto.

Il codice sorgente di questo tutorial è disponibile su GitHub.