类型 "LocationComponent" 是 2 modules:Angular 6 的声明的一部分?
Type "LocationComponent" is part of the declarations of 2 modules:Angular 6?
我是 angular 的新手,所以我无法使用其他堆栈流答案来解决我的错误。请帮忙。
我正在使用 angular 6. 我已经有了一个基本格式,所以我正在尝试添加子页面。但是我得到了这个错误 'Type LocationComponent is part of the declarations of 2 modules' 并停留了大约 2 天。
这是我的 src 文件夹格式的图片:
我的app.module.ts编码如下:
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { CommonModule, LocationStrategy, HashLocationStrategy } from '@angular/common';
import { NgModule, NgModuleFactory } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpClientModule, HttpClient } from '@angular/common/http';
import { Routes, RouterModule } from '@angular/router';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { LocationComponent } from './masterpage/location/location.component';
import { StorageComponent } from './masterpage/storage/storage.component';
@NgModule({
declarations: [
AppComponent,
SpinnerComponent,
LocationComponent,
StorageComponent
],
imports: [
CommonModule,
BrowserModule,
BrowserAnimationsModule,
FormsModule,
HttpClientModule,
NgbModule.forRoot(),
AppRoutingModule,
],
providers: [
{
provide: PERFECT_SCROLLBAR_CONFIG,
useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG
},{
provide: LocationStrategy,
useClass: HashLocationStrategy
}],
bootstrap: [AppComponent]
})
export class AppModule { }
我的app-routing.module.ts如下:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
export const routes: Routes = [
{
path: '',
component: FullComponent,
children: [
{ path: '', redirectTo: '/masterpage/location', pathMatch: 'full' },
{ path: 'masterpage', loadChildren: './masterpage/masterpage.module#MasterPageModule' },
]
}];
@NgModule({
imports: [RouterModule.forRoot(routes), NgbModule.forRoot()],
exports: [RouterModule]
})
export class AppRoutingModule { }
我的masterpage.module.ts代码如下:
import { NgModule,Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { LocationComponent } from './location/location.component';
import { StorageComponent } from './storage/storage.component';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { MasterPageRoutes } from './masterpage.routing';
@NgModule({
imports: [
FormsModule,
CommonModule,
NgbModule,
RouterModule.forChild(MasterPageRoutes)
],
declarations: [
LocationComponent,
StorageComponent,
]
})
export class MasterPageModule { }
我的 masterpage.routing.ts 代码如下:
import { Routes } from '@angular/router';
import { LocationComponent } from './location/location.component';
import { StorageComponent } from './storage/storage.component';
export const MasterPageRoutes: Routes = [
{
path: '',
children: [
{
path: 'location',
component: LocationComponent,
data: {
title: 'Location',
urls: [{title: 'Location',url: '/location'},{title: 'Location'}]
}
}, {
path: 'storage',
component: StorageComponent,
data: {
title: 'Storage',
urls: [{title: 'Storage',url: '/storage'},{title: 'Storage'}]
}
}
]
}
];
我之前的示例 运行 url '/localhost:4200/#/dashboard/dashboard1'-这是示例。我根据我的要求将仪表板从 'masterpage' 及其子项 'dashboard1' 和 'dashboard2' 分别更改为 'location' 和 'storage'。我希望子页面的位置和存储必须使用 url '/localhost:4200/#/masterpage/location' 加载
但它不适合我。代码页中没有错误。我在控制台中仅在检查元素下发现的错误。
请帮我看看哪里出了问题..
提前致谢。
由于您已经在 app.module.ts 中声明了 LocationComponent,它已经在应用程序范围内可用。所以,没必要再在masterpage.module.ts.
中声明
从声明数组中删除 LocationComponent masterpage.module.ts 并删除导入。
我是 angular 的新手,所以我无法使用其他堆栈流答案来解决我的错误。请帮忙。
我正在使用 angular 6. 我已经有了一个基本格式,所以我正在尝试添加子页面。但是我得到了这个错误 'Type LocationComponent is part of the declarations of 2 modules' 并停留了大约 2 天。
这是我的 src 文件夹格式的图片:
我的app.module.ts编码如下:
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { CommonModule, LocationStrategy, HashLocationStrategy } from '@angular/common';
import { NgModule, NgModuleFactory } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpClientModule, HttpClient } from '@angular/common/http';
import { Routes, RouterModule } from '@angular/router';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { LocationComponent } from './masterpage/location/location.component';
import { StorageComponent } from './masterpage/storage/storage.component';
@NgModule({
declarations: [
AppComponent,
SpinnerComponent,
LocationComponent,
StorageComponent
],
imports: [
CommonModule,
BrowserModule,
BrowserAnimationsModule,
FormsModule,
HttpClientModule,
NgbModule.forRoot(),
AppRoutingModule,
],
providers: [
{
provide: PERFECT_SCROLLBAR_CONFIG,
useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG
},{
provide: LocationStrategy,
useClass: HashLocationStrategy
}],
bootstrap: [AppComponent]
})
export class AppModule { }
我的app-routing.module.ts如下:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
export const routes: Routes = [
{
path: '',
component: FullComponent,
children: [
{ path: '', redirectTo: '/masterpage/location', pathMatch: 'full' },
{ path: 'masterpage', loadChildren: './masterpage/masterpage.module#MasterPageModule' },
]
}];
@NgModule({
imports: [RouterModule.forRoot(routes), NgbModule.forRoot()],
exports: [RouterModule]
})
export class AppRoutingModule { }
我的masterpage.module.ts代码如下:
import { NgModule,Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { LocationComponent } from './location/location.component';
import { StorageComponent } from './storage/storage.component';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { MasterPageRoutes } from './masterpage.routing';
@NgModule({
imports: [
FormsModule,
CommonModule,
NgbModule,
RouterModule.forChild(MasterPageRoutes)
],
declarations: [
LocationComponent,
StorageComponent,
]
})
export class MasterPageModule { }
我的 masterpage.routing.ts 代码如下:
import { Routes } from '@angular/router';
import { LocationComponent } from './location/location.component';
import { StorageComponent } from './storage/storage.component';
export const MasterPageRoutes: Routes = [
{
path: '',
children: [
{
path: 'location',
component: LocationComponent,
data: {
title: 'Location',
urls: [{title: 'Location',url: '/location'},{title: 'Location'}]
}
}, {
path: 'storage',
component: StorageComponent,
data: {
title: 'Storage',
urls: [{title: 'Storage',url: '/storage'},{title: 'Storage'}]
}
}
]
}
];
我之前的示例 运行 url '/localhost:4200/#/dashboard/dashboard1'-这是示例。我根据我的要求将仪表板从 'masterpage' 及其子项 'dashboard1' 和 'dashboard2' 分别更改为 'location' 和 'storage'。我希望子页面的位置和存储必须使用 url '/localhost:4200/#/masterpage/location' 加载 但它不适合我。代码页中没有错误。我在控制台中仅在检查元素下发现的错误。
请帮我看看哪里出了问题.. 提前致谢。
由于您已经在 app.module.ts 中声明了 LocationComponent,它已经在应用程序范围内可用。所以,没必要再在masterpage.module.ts.
中声明从声明数组中删除 LocationComponent masterpage.module.ts 并删除导入。