У меня проблема с реализацией маршрутизации с помощью angular 7. код простой, но не могу найти, в чем проблема. возможно ты можешь помочь мне.
коды следующим образом:
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `
<div class = "container">
<a routerLinkActive = "active"
routerLink = "/login">Login</a> |
<a routerLinkActive = "active"
routerLink = "/home/catalog">Homasdfasdfe</a> |
<a routerLinkActive = "active"
routerLink = "/home/">Home</a> |
<a routerLinkActive = "active"
routerLink = "/catalog">Catalog</a>
<router-outlet></router-outlet>
</div>
`,
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
}приложение-routing.module.ts:
import { RouterModule } from '@angular/router';
import { NgModule } from '@angular/core';
import { LoginViewComponent } from './views/login/login.component';
import { HomeViewComponent } from './views/home/home.component';
import { CatalogViewComponent } from './views/catalog/catalog.component';
@NgModule({
declarations: [
LoginViewComponent, HomeViewComponent, CatalogViewComponent
],
imports: [
RouterModule.forRoot([
{ path: 'login', component: LoginViewComponent },
{ path: 'home', component: HomeViewComponent, children: [
{ path: 'catalog', component: CatalogViewComponent }
] },
{ path: 'catalog', component: CatalogViewComponent },
{ path: '**', redirectTo: 'login' }
])
],
exports: [
RouterModule,
],
providers: [],
})
export class AppRoutingModule {}import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app.routing.module';
@NgModule({
declarations: [ AppComponent],
imports: [
AppRoutingModule,
BrowserModule, FormsModule, HttpModule
],
bootstrap: [ AppComponent ]
})
export class AppModule { }проблема в том, что если я нажму Homasdfasdfe, он покажет содержимое дома, а не каталога.
любые решения?
С наилучшими пожеланиями,
Лео
Вы импортируете свой AppRoutingModule в свой AppModule?
Привет, Гэри, я просто хочу попробовать, работает ли /catalog как дочерний маршрут. если я удалю /catalog, он также не сможет перейти к /home/catalog.
Привет, Жюльен, да, я импортировал AppRoutingModule, я также вставил код.





Я думаю, ваша проблема в том, что вы используете компонент «CatalogViewComponent» в дочернем маршруте, а затем в основной дороге чуть ниже него. Попробуйте удалить основной маршрут «каталог», возможно, это решит вашу проблему.
Привет, Кристофер, я попробовал твое решение, но оно тоже не сработало. в чем проблема как обычно.
Попробуйте изменить маршрут до дома, как показано ниже.
RouterModule.forRoot([
{ path: 'login', component: LoginViewComponent },
{ path: 'home', children: [
{ path:'', component: HomeViewComponent },
{ path: 'catalog', component: CatalogViewComponent }
]},
{ path: 'catalog', component: CatalogViewComponent },
{ path: '**', redirectTo: 'login' }
])
Если вы хотите, чтобы /catalog маршрутизировался, почему вы добавляете /home/catalog в качестве пути?