Ghidul începătorilor pentru unghiul 4 Routing

În cea de-a doua parte a ghidului începătorului pentru seria de ghiduri angulare, ați aflat ce servicii sunt în Angular 4 și cum să scrieți serviciile Angulare și să le utilizați într-o componentă angulară. 

În această parte a seriei tutorial, veți învăța cum să se ocupe de rutare în Angular 4.

Noțiuni de bază

Veți începe prin clonarea codului sursă din prima parte a seriei tutorial.

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

Odată ce aveți codul sursă, navigați la directorul proiectului și instalați dependențele necesare.

cd AngularComponent npm instalare

După instalarea dependențelor, porniți aplicația tastând următoarea comandă:

ng servi

Ar trebui să aveți aplicația care rulează pe http: // localhost: 4200 /.

Rutarea și navigarea

Atunci când un utilizator intră într-o aplicație web sau pe un site web, rutarea este mijlocul de navigare în cadrul aplicației. Pentru a trece de la o vizualizare la alta, utilizatorul face clic pe link-urile disponibile pe o pagină.

Angular oferă un Router pentru a facilita definirea rutelor pentru aplicațiile web și pentru a naviga dintr-o vizualizare într-o altă vizualizare din aplicație.

Crearea primei căi 

Pentru a implementa rutarea în aplicația web, veți folosi modulul Routing unghiular. Creați un fișier numit app.routing.ts în interiorul src / app pliant.

Pentru a începe cu implementarea rutei, trebuie să importați RouterModule și Rutele de la @ unghiular / router.

import RouterModule, Routes de la '@ unghiular / router';

Veți avea nevoie de asemenea ModuleWithProviders modul de implementare a rutei.

import ModuleWithProviders de la '@ angular / core / src / metadata / ng_module';

Creați și exportați o variabilă numită AppRoutes în app.routing.ts, care ar fi o colecție a tuturor căilor din aplicația Angular.

export const AppRoutes: Trasee = [];

Există două modalități de a crea modulul de rutare: RouterModule.forRoot și RouterModule.forChild.

RouterModule.forRoot este pentru crearea de rute pentru întreaga aplicație, și RouterModule.forChild este pentru crearea de rute pentru module încărcate leneș.

În acest tutorial, veți folosi RouterModule.forRoot pentru a crea rute pentru aplicația rădăcină.

Creați modulul de rutare utilizând RouterModule.forRoot în interiorul app.routing.ts fişier.

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

Adăugați un traseu în interiorul AppRoutes lista pentru a ne arăta CalcComponent

cale: 'calc', component: CalcComponent

Iată cum app.routing.ts file looks:

import RouterModule, Routes de la '@ unghiular / router'; import ModuleWithProviders de la '@ angular / core / src / metadata / ng_module'; import CalcComponent din './calc/calc.component' export const AppRoutes: Routes = [path: 'calc', component: CalcComponent]; export const ROUTING: ModuleWithProviders = RouterModule.forRoot (AppRoutes);

După cum se vede în cod, traseul care a fost adăugat este / calc, care ar face CalcComponent.

Importați Routing constant în interiorul app.module.ts fişier.

import ROUTING din "./app.routing"

Adaugă Routing la secțiunea importuri.

 importurile: [BrowserModule, FormsModule, ROUTING],

Iată cum app.module.ts file looks:

import BrowserModule din '@ unghiular / platform-browser'; import NgModule de la '@ angular / core'; import ROUTING de la './app.routing' import AppComponent din './app.component'; import CalcComponent din './calc/calc.component' import FormsModule din '@ unghiular / formulare'; import RouterModule de la '@ unghiular / router'; @NgModule (declarații: [AppComponent, CalcComponent], import: [BrowserModule, FormsModule, ROUTING], furnizori: [], bootstrap: [AppComponent]) 

Salvați modificările de mai sus și reporniți aplicația Angular utilizând ng servi.

Punctați browser-ul dvs. la http: // localhost: 4200 / calc și veți avea CalcComponent afișat.

Implementarea navigației

Cu ruta creată mai sus, veți încerca să implementați navigația. Să începem prin crearea unei componente principale pentru aplicația noastră numită HomeComponent.

Creați un dosar numit Acasă în interiorul src / app pliant. În interiorul Acasă folder, creați un fișier numit home.component.ts. Iată cum arată:

import Component de la '@ angular / core'; @Component (selector: 'home', templateUrl: 'home.component.html') clasa de export HomeComponent  

Creați un fișier șablon numit home.component.html. Adăugați următorul cod:

Bine ați venit pe Pagina de pornire

După cum se vede în codul de mai sus, ați folosit routerLink pentru configurarea navigării pe link-uri. routerLink este importat din RouterModule.

Adaugă HomeComponent la NgModule în app.module.ts fişier.

import BrowserModule din '@ unghiular / platform-browser'; import NgModule de la '@ angular / core'; import ROUTING de la './app.routing' import AppComponent din './app.component'; import CalcComponent din "./calc/calc.component"; import HomeComponent de la "./home/home.component"; import FormsModule din '@ unghiular / formulare'; import RouterModule de la '@ unghiular / router'; @NgModule (declarații: [AppComponent, CalcComponent, HomeComponent], import: [BrowserModule, FormsModule, ROUTING], furnizori: [], bootstrap: [AppComponent]) 

Deoarece veți utiliza rutarea Angulară, trebuie să afișați locația în aplicația noastră unde ruterul ar afișa vizualizările. Așa cum ați pornit-o AppComponent la timpul de execuție, adăugați următorul cod la app.component.html fişier.

Ieșirea routerului indică routerului Angular unde să afișeze vizualizările.

În interiorul app.routing.ts fișier, includeți ruta implicită pentru a fi afișată ca HomeComponent. Iată cum arată codul modificat:

path: ", component: HomeComponent

Iată cum app.routing.ts file looks:

import RouterModule, Routes de la '@ unghiular / router'; import ModuleWithProviders de la '@ angular / core / src / metadata / ng_module'; import CalcComponent din "./calc/calc.component"; import HomeComponent de la "./home/home.component"; exportare const AppRoutes: Routes = [path: ", component: HomeComponent, path: 'calc', component: CalcComponent];

Salvați modificările de mai sus și reporniți aplicația web. Punctați browserul la http: // localhost: 4200 / și veți avea HomeComponent afișate în mod prestabilit.

Faceți clic pe link-ul din componenta de bază și veți fi navigat la componenta calculatorului.

Acum, să adăugăm o rută pentru a gestiona cererile de rutare nedefinite. Ori de câte ori utilizatorul navighează către o rută inexistentă, veți afișa un mesaj despre faptul că ruta nu a fost găsită.

Adăugați o componentă nouă numită nu a fost gasit. Creați un dosar numit nu a fost gasit în interiorul src / app pliant. Creați un fișier numit notfound.component.ts. Adăugați următorul cod:

import Component de la '@ angular / core'; @Component (selector: 'notfound', templateUrl: 'notfound.component.html', styleUrls: ['notfound.component.css']) clasa de export NotFoundComponent  

Creați un fișier numit notfound.component.html și adăugați următorul cod:

Componenta nu a fost găsită

Veți adăuga un traseu de carte wild pentru a gestiona rutele inexistente. Adăugați următorul cod la app.routing.ts fişier:

cale: '**', componentă: NotFoundComponent

Iată cum app.routing .ts file looks:

import RouterModule, Routes de la '@ unghiular / router'; import ModuleWithProviders de la '@ angular / core / src / metadata / ng_module'; import CalcComponent din "./calc/calc.component"; import HomeComponent de la "./home/home.component"; import NotFoundComponent din "./notfound/notfound.component"; exportare const AppRoutes: Routes = [path: ", component: HomeComponent, cale: 'calc', component: CalcComponent, path: '**', component: NotFoundComponent; .forRoot (AppRoutes);

Salvați modificările de mai sus și reporniți serverul. Punctați browser-ul la http: // localhost: 4200 / abc și veți vedea mesajul de excepție care nu a fost găsit.

Înfășurați-o

În acest tutorial, ați învățat elementele de bază privind modul de gestionare a rutei în Angular. Ați învățat cum să definiți un traseu și să navigați printr-o aplicație Angular. 

Ați învățat cum să vă ocupați de rutele inexistente definind un traseu cu carte de acces. Ai învățat cum să folosești routerLink pentru a vă conecta la altă rută.

Cum a fost experiența dvs de învățare rutare unghiulară? Dați-ne cunoștințele și sugestiile în secțiunea de comentarii de mai jos.

Codul sursă din acest tutorial este disponibil pe GitHub.

Cod