Урок 10: Добавление маршрутов в приложение¶
Этот обучающий урок демонстрирует, как добавить маршруты в приложение.
Затраты времени: ожидайте, что на выполнение этого урока вы потратите около 25 минут.
Перед началом¶
Этот урок начинается с кода из предыдущего урока, поэтому вы можете:
-
Использовать код, созданный в Уроке 9, в своей интегрированной среде разработки (IDE).
-
Начните с примера кода из предыдущего урока. Выберите код из Урока 9, где вы можете:
-
Использовать живой пример в StackBlitz, где интерфейс StackBlitz является вашей IDE.
-
Использовать download пример и открыть его в вашей IDE.
-
Если вы не просмотрели введение, посетите Введение в Angular tutorial, чтобы убедиться, что у вас есть все необходимое для завершения этого урока.
Если у вас возникнут трудности во время этого урока, вы можете просмотреть готовый код для этого урока.
После завершения¶
По окончании этого урока ваше приложение будет поддерживать маршрутизацию.
Концептуальный обзор маршрутизации¶
В этом уроке рассказывается о маршрутизации в Angular. Маршрутизация — это возможность перехода от одного компонента приложения к другому. В одностраничных приложениях (SPA) обновляется только часть страницы, чтобы представить пользователю запрошенное представление.
Angular Router позволяет пользователям объявлять маршруты и указывать, какой компонент должен отображаться на экране, если этот маршрут запрашивается приложением.
В этом уроке вы включите маршрутизацию в своем приложении для перехода на страницу подробностей.
Шаги урока¶
Выполните эти шаги в коде приложения в вашей IDE.
Шаг 1 — Создание компонента подробностей по умолчанию¶
-
В терминале введите следующую команду для создания
DetailsComponent
:1
ng generate component details --standalone --inline-template --skip-tests
Этот компонент будет представлять собой страницу подробностей, которая предоставляет более подробную информацию о данном жилье.
Шаг 2 — Добавление маршрутизации в приложение¶
-
В директории
src/app
создайте файлroutes.ts
. В этом файле мы будем определять маршруты в приложении. -
В файле
main.ts
сделайте следующие обновления, чтобы включить маршрутизацию в приложении:-
Импортируйте файл routes и функцию
provideRouter
:1 2
import { provideRouter } from '@angular/router'; import routeConfig from './app/routes';
-
Обновите вызов
bootstrapApplication
, чтобы включить конфигурацию маршрутизации:1 2 3 4 5 6
bootstrapApplication(AppComponent, { providers: [ provideProtractorTestingSupport(), provideRouter(routeConfig), ], }).catch((err) => console.error(err));
-
-
В
src/app/app.component.ts
обновите компонент для использования маршрутизации:-
Добавьте импорт на уровне файла для
RoutingModule
:1
import { RouterModule } from '@angular/router';
-
Добавьте
RouterModule
в метаданные импорта@Component
.1 2 3 4
imports: [ HomeComponent, RouterModule, ],
-
В свойстве
template
замените тег<app-home></app-home>
на директиву<router-outlet>
и добавьте ссылку на главную страницу. Ваш код должен соответствовать этому коду:1 2 3 4 5 6 7 8 9 10 11 12
template: ` <main> <a [routerLink]="['/']"> <header class="brand-name"> <img class="brand-logo" src="/assets/logo.svg" alt="logo" aria-hidden="true"> </header> </a> <section class="content"> <router-outlet></router-outlet> </section> </main> `,
-
Шаг 3 — Добавление маршрута в новый компонент¶
В предыдущем шаге вы удалили ссылку на компонент <app-home>
в шаблоне. В этом шаге вы добавите новый маршрут к этому компоненту.
-
В файле
routes.ts
выполните следующие обновления для создания маршрута.-
Добавьте импорт на уровне файла для
HomeComponent
,DetailsComponent
и типаRoutes
, которые вы будете использовать в определениях маршрутов.1 2 3
import { Routes } from '@angular/router'; import { HomeComponent } from './home/home.component'; import { DetailsComponent } from './details/details.component';
-
Определите переменную
routeConfig
типаRoutes
и определите два маршрута для приложения:1 2 3 4 5 6 7 8 9 10 11 12 13 14
const routeConfig: Routes = [ { path: '', component: HomeComponent, title: 'Home page', }, { path: 'details/:id', component: DetailsComponent, title: 'Home details', }, ]; export default routeConfig;
Записи в массиве
routeConfig
представляют маршруты в приложении. Первая запись перемещает кHomeComponent
, когда url совпадает с''
. Вторая запись использует некоторое специальное форматирование, которое будет рассмотрено в одном из следующих уроков.
-
-
Сохраните все изменения и убедитесь, что приложение работает в браузере. Приложение должно по-прежнему отображать список мест расположения жилья.
Обзор урока¶
В этом уроке вы включили маршрутизацию в своем приложении, а также определили новые маршруты. Теперь ваше приложение может поддерживать навигацию между представлениями. В следующем уроке вы научитесь переходить на страницу "Подробности" для данного места расположения жилья.
Вы делаете большие успехи в работе над своим приложением, молодцы.
Если у вас возникли трудности с этим уроком, вы можете просмотреть готовый код для него.
Следующие шаги¶
Дополнительная информация¶
Для получения дополнительной информации о темах, рассмотренных в этом уроке, посетите сайт: