angular - 我尝试在我的角度网站中进行惰性模式
问题描述
我尝试在我的角度网站中执行惰性模式,这看起来有些错误,我无缘无故地做了角度网站显示https://angular.io/guide/lazy-loading-ngmodules
为什么我的应用程序不再工作了?我不知道该怎么办了,我的文件请等待您的帮助。
产品.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { HomeComponent } from '../../home/home.component';
import { InfoComponent } from '../../info/info.component';
import { ProductRoutingModule } from './module.module';
@NgModule({
declarations: [HomeComponent, InfoComponent],
imports: [
CommonModule,
ProductRoutingModule,
],
exports: [RouterModule]
})
export class ProductModule { }
模块.module.ts
import { NgModule, Component } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from '../../home/home.component';
import { InfoComponent } from '../../info/info.component';
const routes: Routes = [
{ path: 'home', component: HomeComponent },
{ path: 'info', component: InfoComponent }
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class ProductRoutingModule { }
应用程序路由.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { guards } from '../../store/guards';
import { HomeComponent } from '../../home/home.component';
const routes: Routes = [
{ path: '', component: HomeComponent, canActivate: guards },
{ path: 'product', loadChildren: () => import('./product.module').then(m => m.ProductModule) },
{ path: '**', redirectTo: 'product/home', pathMatch: 'full' }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
我正在尝试访问'product/info'
app.module.ts
import { AppRoutingModule } from './shared/modules/app-routing.module';
imports: [
AppRoutingModule,
The bug is
core.js:6014 错误错误:未捕获(承诺):错误:HomeComponent 类型是 2 个模块声明的一部分:AppModule 和 ProductModule!请考虑将 HomeComponent 移至导入 AppModule 和 ProductModule 的更高模块。您还可以创建一个新的 NgModule,它导出并包含 HomeComponent,然后将该 NgModule 导入 AppModule 和 ProductModule。错误:HomeComponent 类型是 2 个模块声明的一部分:AppModule 和 ProductModule!请考虑将 HomeComponent 移至导入 AppModule 和 ProductModule 的更高模块。您还可以创建一个新的 NgModule,它导出并包含 HomeComponent,然后将该 NgModule 导入 AppModule 和 ProductModule。
Please help me I am try to do it two days
解决方案
再会!
我可以看到两种解决方案:
- 创建模块,例如 HomeModule,它
declarations
在部分和部分中有 HomeComponentexports
:
@NgModule({
declarations: [HomeComponent],
imports: [CommonModule],
exports: [HomeComponent]
})
export class HomeModule {}
之后,您应该在两个模块中都导入这个模块(例如,导入您的 AppModule 和您的延迟加载模块)。
- 重做您的 ProductRoutingModule 并直接限制另一个 HomeComponent (您的索引路由)而不是重复:
const routes: Routes = [
{ path: 'home', redirectTo: '/' },
{ path: 'info', component: InfoComponent }
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class ProductRoutingModule { }
推荐阅读
- integer - 使用缓冲区溢出修改整数
- android - 如何保存使用改造收到的响应?
- wordpress - 如何通过 React Native 将图像发布到 WordPress
- excel - 在选定范围内修剪、复制(插入)、连接
- google-cloud-platform - Azure AD B2C 不显示自定义注册页面
- python - 如何输出不包括所有空格的字符串?
- hibernate - 具有路径导航的相关实体上的 JPA 标准或条件
- c - 将十进制转换为具有长整数值的二进制 C
- python - 来自 Maya 的 Python 启动程序冻结
- javascript - 智能查询断言是否等待客户端函数?