Я поместил свой AppRoutingModule
внутрь imports
из @NgModule
класса AppModule
.
AppRoutingModule определяется таким образом:
const APP_ROUTES : Routes = [
{
path: '',
redirectTo: 'home',
pathMatch: 'full',
},
{
path: 'home',
component: HomeComponent
},
{
path: 'lesson-offers',
component: LessonOffersComponent
},
{ path: '**', redirectTo: 'home' }
]
Я поместил <router-outlet></router-outlet>
в app.component.html.
Страницы отображаются правильно на основе URL-адресов:
localhost:5000/
localhost:5000/home
localhost:5000/lesson-offers
Проблема в моем header.component.ts, где я пытаюсь добавить routerLink на домашнюю страницу. Я пробовал такие решения:
<img routerLink="home" ... />
<img [routerLink]="/home" ... />
<a routerLink="home"> <img ... /></a>
<a [routerLink]="home" ... ><img ... /></a>
Во-первых, когда я поместил routerLink в элемент <img>
, такой директивы не было найдено. Затем в элементе <a>
он делает случайный <a href="/home">
из routerLink и выполняет полную перезагрузку страницы! Разве не следует перезагружать только содержимое <router-outlet>
?
Может быть, это имеет какое-то значение, что мой макет выглядит так:
// AppComponent HTML
<header-bar></header-bar>
<router-outlet></router-outlet>
а routerLink размещается в элементе в дочернем компоненте <header-bar>
(логотип) и должен перемещаться по <router-outlet>
в его родительском?
Но я также протестировал это поведение, используя routerLink, помещенный непосредственно внутри AppComonent, и ничего не изменилось! RouterLink по-прежнему перезагружает веб-страницу !:
<header-bar></header-bar>
<a routerLink="home">Home</a>
<a routerLink="lesson-offers">Lesson Offers</a>
<a routerLink="page-not-found">Not Exsists</a>
<router-outlet></router-outlet>
base href
установлен правильно. - person Isaiahiroko   schedule 06.05.2017