使用以下目录文件夹结构和代码:
我正尝试延迟加载该模块
"tsdmns-modules/loader-module/tsdmns-loader-module.module"
来自
"app/app-routing.module"
然后加载该组件
"/tsdmns-modules/loader-module/views/tsdmns-loader-view-console.component"
来自
"tsdmns-modules/loader-module/tsdmns-loader-module-routing.module"
当我进入"http://localhost:4200/loader"
时,它又回到了根源
我想我有个问题
{
path: 'loader',
loadChildren: 'src/tsdmns-modules/loader-module/tsdmns-loader-module/tsdmns-loader-module.module#TsdmnsLoaderModuleModule'
}
我是否正确编写了此文件夹目录?
"src/tsdmns-modules/loader-module/tsdmns-loader-module/tsdmns-loader-module.module"
app/
-- app.module
-- app-routing.module
tsdmns-modules/
-- loader-module/
-- -- tsdmns-loader-module.module
-- -- tsdmns-loader-module-routing.module
-- -- views/
-- -- -- tsdmns-loader-view-console.component
[AppModule]
-----------
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { TestpageComponent } from './testpage/testpage.component';
@NgModule({
declarations: [
AppComponent,
TestpageComponent
],
imports: [
BrowserModule,
AppRoutingModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
-------------------------------------------------------------
[AppRoutingModule]
------------------
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { TestpageComponent } from './testpage/testpage.component';
const routes: Routes = [
{
path: 'test',
component: TestpageComponent
},
{
path: 'loader',
loadChildren: 'src/tsdmns-modules/loader-module/tsdmns-loader-module/tsdmns-loader-module.module#TsdmnsLoaderModuleModule'
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
-------------------------------------------------------------
[TsdmnsLoaderModuleModule]
--------------------------
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { TsdmnsLoaderModuleRoutingModule } from './tsdmns-loader-module-routing.module';
@NgModule({
declarations: [],
imports: [
CommonModule,
TsdmnsLoaderModuleRoutingModule
]
})
export class TsdmnsLoaderModuleModule { }
-------------------------------------------------------------
[TsdmnsLoaderModuleRoutingModule]
---------------------------------
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { TsdmnsLoaderViewConsoleComponent } from '../views/tsdmns-loader-view-console/tsdmns-loader-view-console.component';
const routes: Routes = [
{
path: '',
component: TsdmnsLoaderViewConsoleComponent
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class TsdmnsLoaderModuleRoutingModule { }
感谢您的帮助!
答案 0 :(得分:0)
到目前为止,除了路由器模块路径和延迟加载的模块中的组件声明之外,您已经正确完成了所有操作。您的loadChildren
路径应相对于app-routing.module
的当前位置。根据您的文件夹结构,应该是
// In your app-routing.module
{
path: 'loader',
loadChildren: '../tsdmns-modules/loader-module/tsdmns-loader-module.module#TsdmnsLoaderModuleModule'
}
而且您还必须在模块中声明TsdmnsLoaderViewConsoleComponent
组件
// In your tsdmns-loader-module.module
@NgModule({
declarations: [TsdmnsLoaderViewConsoleComponent],
imports: [
CommonModule,
TsdmnsLoaderModuleRoutingModule
]
})
export class TsdmnsLoaderModuleModule { }
我为您的代码准备了一个有效的stackblitz。仅供参考,在命名文件和组件时请记住Angular style guide。