#angular #lazy-loading #angular2-routing #parent-child
#angular #отложенная загрузка #angular2-маршрутизация #родитель-потомок
Вопрос:
Это мой модуль маршрутизации приложений
const routes: Routes = [
{path:'user',loadChildren:()=>import('./user/user.module').then(m=>m.UserModule),canActivate:[AuthGuardService]}
];
@NgModule({
imports: [RouterModule.forRoot(routes,{ enableTracing: true })],
exports: [RouterModule]
})
export class AppRoutingModule { }
Это мой пользовательский модуль
Проблема в том, что я хочу задать вопроскомпоненту http://localhost:4200/user/ask-question но AskQuestionComponent также отображается на http://localhost:4200/ask-question Я не понимаю, почему. То же самое относится и к UserAnswersComponent
const routes: Routes = [
{path: '', component: UserHomeComponent},
{path:'ask-question',component:AskQuestionComponent},
{path:'answers',component:UserAnswersComponent}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
Комментарии:
1. Я попытался воспроизвести проблему, но, похоже, это работает так, как ожидалось, см. stackblitz.com/edit /… . Первые 2 ссылки работают, в то время как последние 2 выдают ошибку, как и ожидалось
2. @OwenKelvinBut я не получаю сообщение об ошибке на локальном хосте: 4200 /задать вопрос
3. весь код такой же, и я нигде не определил localhost: 4200 /задать вопрос, все маршруты пользователя отображаются с пользователем и без пользователя в адресе маршрута.
4. Можете ли вы воспроизвести эту проблему в stackblitz?