在我的项目中使用多个模块时,有人可以告诉我设置路由的正确性吗?我有app.module和courses.module声明了一些组件.我想知道如何连接模块并在courses.module中编辑正确的路由,那就是共享路由:"/ courses/list"和"/ courses/detail"
app.routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
//import { CoursesRoutingModule } from './components/courses/courses-routing.module';
const routes: Routes = [
  {
    path: 'courses',
    loadChildren: './components/courses/courses-routing.module#CoursesRoutingModule' 
  }
];
@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }
app.component.html
<h1>App.component</h1>
<p>
    <button routerLink="/">HOME</button>
    <button routerLink="/courses">KURSY</button>
</p>
<router-outlet></router-outlet>
这里的课程组成部分:
courses.routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { CoursesComponent } from './courses.component';
import { CoursesDetailComponent } from './components/courses-detail/courses-detail.component';
import { CoursesListComponent } from './components/courses-list/courses-list.component';
const routes: Routes = [
//  {
//    path: 'courses',
//    loadChildren: '/src/app/components/courses/courses.module'
//  }
//  ,
//  {
//    path: 'courses/list',
//    component: CoursesListComponent,
//    outlet: 'courseslist'
//  }
];
@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class CoursesRoutingModule { }
courses.component.html:
<p>
    <button routerLink="/">HOME</button>
    <button routerLink="/courses/list">list</button>
    <button routerLink="/courses/detail">detail</button>
</p>
Ris*_*cie 34
我是这样做的:
app.module.ts
import {ModuleRouting} from './app.routing';
@NgModule({
    declarations: [
        AppComponent,
    ],
    imports: [
        ModuleRouting,
        SubmoduleModule         
    ]
    bootstrap: [AppComponent]
})
export class AppModule {
}
app.routing.ts
import {Routes, RouterModule} from '@angular/router';
import {ModuleWithProviders} from '@angular/core';
const routes: Routes = [
    {path: 'submodule', loadChildren: () => import('app/submodule/submodule.module').then(m => m.SubmoduleModule)}
];
export const ModuleRouting: ModuleWithProviders = RouterModule.forRoot(routes);
submodule.module.ts
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {ModuleRouting} from './submodule.routing';
@NgModule({
    imports: [
        CommonModule,
        ModuleRouting
    ],
    declarations: [
        //...
    ]
})
export class SubmoduleModule {
}
submodule.routing.ts
import {RouterModule, Routes} from '@angular/router';
import {ModuleWithProviders} from '@angular/core';
const routes: Routes = [
    {
        path: '',
        component: SomeComponent,
    },
    {
        path: 'other',
        component: SomeOtherComponent,
    }
];
export const ModuleRouting: ModuleWithProviders = RouterModule.forChild(routes);
| 归档时间: | 
 | 
| 查看次数: | 26238 次 | 
| 最近记录: |