我不知道为什么会发生这样的事情。根据我所看到的,我正确地导入了所有内容。我已经问过其他问题了,并且已经看过很多次了。我可能遗漏了一些非常简单的东西,只是没有看到而已。我能得到一些关于为什么我得到这个错误的帮助吗?
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MaterialModule } from './material.module';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { DashboardComponent } from '../dashboard/dashboard.component';
@NgModule({
declarations: [
AppComponent,
DashboardComponent
],
imports: [
BrowserModule,
BrowserAnimationsModule,
MaterialModule,
AppRoutingModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }app-routing.module.ts:我从项目一开始就没有创建它,这就是为什么我可能遗漏了一些东西。
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule, Routes } from '@angular/router';
import { DashboardComponent } from '../dashboard/dashboard.component';
const routes: Routes = [
{ path: '', component: DashboardComponent }
];
@NgModule({
imports: [
CommonModule,
RouterModule.forRoot(routes)
],
declarations: []
})
export class AppRoutingModule {
}我已经在app.component.html中放置了<router-outlet></router-outlet>
发布于 2018-03-23 04:02:16
你应该告诉angular你将使用来自RouterModule的指令。也就是说,您应该在AppModule中导入RouterModule,或者从AppRoutingModule中导出RouterModule。第二个选项更可取,因为您将所有与路由相关的内容放在一个位置。
@NgModule({
imports: [
CommonModule,
RouterModule.forRoot(routes)
],
exports: [RouterModule] <==== add this
})
export class AppRoutingModule {}发布于 2018-03-23 04:02:35
您必须导出路由器模块,以便您的app.module.ts可以从app.routing.ts模块访问导入的模块。
@NgModule({
imports: [
CommonModule,
RouterModule.forRoot(routes)
],
declarations: [],
exports: [RouterModule]
})在官方documentation中是这样说的:
最后,通过将Angular 添加到模块导出数组来重新导出RouterModule。通过在此处重新导出RouterModule并在AppModule中导入AppRoutingModule,在AppModule中声明的组件将可以访问路由器指令,如RouterLink和RouterOutlet。
https://stackoverflow.com/questions/49437328
复制相似问题