我是Angular的新手,我想在单独的组件中实现routes
并在app.module.ts
文件中导入相同的组件。如何在app.module.ts
文件中导入路径组件。
import { UsersComponent } from './users/users.component';
export class AppRoutes {
getRoutes() {
return [
{
path: 'users',
component: UsersComponent
}
];
}
}
在 app.modules.ts
中import { AppRoutes } from './app.routes';
@NgModule({
declarations: [
AppComponent,
UsersComponent,
],
imports: [
BrowserModule,
HttpModule,
HttpClientModule,
RouterModule.forRoot(AppRoutes.getRoutes())
],
providers: [UsersService],
bootstrap: [AppComponent]
})
export class AppModule { }
我在这里收到错误:
RouterModule.forRoot(AppRoutes.getRoutes())
答案 0 :(得分:6)
您应该创建一个单独的模块进行路由,并在此模块中添加您的路由器信息。
喜欢这样:
routing.module.ts
文件结构
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { LoginComponent } from './user/login/login.component'; //your component
const routes: Routes = [
{ path: 'login', component: LoginComponent}
];
@NgModule({
imports: [ RouterModule.forRoot(routes) ],
exports: [
RouterModule
]
})
export class RoutingModule { };
导入RouterModule
并配置您的路径信息,然后将导出您的配置(在路由器模块的导出部分中)配置为app.module
等其他模块。
然后导入并注入您的路由模块到基础模块app.module
喜欢这样:
app.module.ts
文件结构
import { RoutingModule } from './routing.module';
@NgModule({
declarations: [],
imports: [
RoutingModule
],
exports: [],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
答案 1 :(得分:0)
AppRoutes是一个类,因此您需要在使用它之前对其进行实例化:
let appRoutes = new AppRoutes();
然后
...
RouterModule.forRoot(appRoutes.getRoutes())