Что такое роутинг и как его создать в Angular?

Роутинг в Angular позволяет навигироваться между различными компонентами и отображать соответствующий контент в зависимости от текущего URL. Это позволяет создавать одностраничные приложения (SPA), где содержимое обновляется без перезагрузки страницы.

Для создания роутинга в Angular необходимо выполнить следующие шаги:

Шаг 1: Настройка маршрутизации

  1. Создайте файл app-routing.module.ts (или аналогичный) в вашем проекте, где будет находиться настройка маршрутизации.
  2. Импортируйте необходимые модули и классы:
    import { NgModule } from '@angular/core'
    import { RouterModule, Routes } from '@angular/router'
    
  3. Определите массив маршрутов, которые будут использоваться в вашем приложении. Каждый маршрут представляет собой объект Route, содержащий путь, компонент, который будет отображаться, и другие параметры:
    const routes: Routes = [
    	{ path: '', redirectTo: '/home', pathMatch: 'full' }, // Перенаправление на домашнюю страницу
    	{ path: 'home', component: HomeComponent },
    	{ path: 'about', component: AboutComponent }
    	// Другие маршруты
    ]
    
    Здесь мы определили маршруты для домашней страницы (''), страницы "О нас" ('about') и возможные другие маршруты.
  4. Используйте RouterModule.forRoot() для настройки маршрутизации с указанными маршрутами:
    @NgModule({
    	imports: [RouterModule.forRoot(routes)],
    	exports: [RouterModule]
    })
    export class AppRoutingModule {}
    
    Здесь мы используем метод forRoot(), чтобы определить корневые маршруты для приложения.

Шаг 2: Использование маршрутизации в приложении

  1. Откройте файл app.module.ts (или аналогичный) и импортируйте созданный AppRoutingModule:

    import { NgModule } from '@angular/core'
    import { BrowserModule } from '@angular/platform-browser'
    import { AppRoutingModule } from './app-routing.module'
    import { AppComponent } from './app.component'
    
    @NgModule({
    	imports: [BrowserModule, AppRoutingModule],
    	declarations: [AppComponent],
    	bootstrap: [AppComponent]
    })
    export class AppModule {}
    
  2. Добавьте <router-outlet></router-outlet> в ваш файл app.component.html. Это специальный элемент, который будет отображать компоненты в соответствии с текущим маршрутом:

    <router-outlet></router-outlet>
    

Теперь у вас есть основная настройка роутинга в Angular. Приложение будет отображать соответствующий компонент в зависимости от текущего URL.

Для навигации между маршрутами можно использовать ссылки и программное перенаправление.

Пример использования ссылок:

<a routerLink="/home">Home</a> <a routerLink="/about">About</a>

Пример программного перенаправления:

import { Router } from '@angular/router';

constructor(private router: Router) { }

navigateToHome() {
  this.router.navigate(['/home']);
}

navigateToAbout() {
  this.router.navigate(['/about']);
}

Теперь вы можете создать роутинг в Angular, определив маршруты, настроив модули и использовав директивы для навигации. Это позволит вашему приложению переходить между различными компонентами без перезагрузки страницы.