Как создать «базовый» маршрут для каждого маршрута модуля маршрутизации в угловых - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть auth модуль с несколькими компонентами: login, signup, logout.

Я объявляю все маршруты в модуле маршрутизации:

import { NgModule } from "@angular/core";
import { Routes, RouterModule } from "@angular/router";
import { LoginComponent } from "./login/login.component";
import { SignupComponent } from "./signup/signup.component";
import { LogoutComponent } from "./logout/logout.component";

const routes: Routes = [
  {
      path: "auth/login",
      component: LoginComponent
  },
  {
      path: "auth/signup",
      component: SignupComponent
  },
  {
      path: "auth/logout",
      component: LogoutComponent
  },
];

@NgModule({
    imports: [RouterModule.forChild(routes)],
    exports: [RouterModule]
})
export class AuthRoutingModule {}

но я чувствую, что все эти "аутентификации" довольно избыточны.Есть ли способ указать (даже корневым модулем приложения-маршрутизации?), Что все правила этого модуля маршрутизации имеют этот auth раньше?

РЕДАКТИРОВАТЬ Вот мой основной модульмаршрутизация (хотя бы одна попытка):

import { Routes, RouterModule } from '@angular/router';
import { ModuleWithProviders } from '@angular/core';

export const routes: Routes = [
    { path: '', redirectTo:'/beers', pathMatch:'full' },
    { path: 'beers', loadChildren: './beers/beers.module#BeersModule'},
    { path: 'auth', loadChildren: './auth/auth.module#AuthModule'},
];

export const AppRoutes: ModuleWithProviders = RouterModule.forRoot(routes, {scrollPositionRestoration: 'enabled', enableTracing: true});

1 Ответ

0 голосов
/ 03 апреля 2019

Это определенно возможно, без вашего полного кода трудно посоветовать вам, как конкретно этого добиться, но вы бы сделали что-то подобное в вашем app-routing.module

[
      {
        path: '',
        component: App.AppComponent,
        children: [
          { path: 'auth', loadChildren: './auth/auth.module#AuthModule' }
        ]
      }
    ]

Тогда маршруты в вашем auth.module будут выглядеть так:

const routes: Routes = [
  {
      path: "login",
      component: LoginComponent
  },
  {
      path: "signup",
      component: SignupComponent
  },
  {
      path: "logout",
      component: LogoutComponent
  },
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...