NullInjectorError: No provider for ChildrenOutletContexts

NullInjectorError: No provider for ChildrenOutletContexts

我还在学习angular。我试图在 stackblitz 上创建一个示例来提出另一个问题 运行 进入路由问题。

我正在尝试设置路由。我已将以下内容添加到 app.module.ts:

  imports:      [ BrowserModule,
                  FormsModule,
                  RouterModule,

然后我创建了应用程序-routing.module.ts:

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import { NavComponent } from './components/NavComponent';
import { SearchComponent } from './components/SearchComponent';
import { ViewComponent } from './components/ViewComponent';

const routes: Routes = [
  { path: '', redirectTo: '/nav', pathMatch: 'full' },
  { path: 'nav', component: NavComponent },
  { path: 'search', component: SearchComponent },
  { path: 'view', component: ViewComponent }
];

@NgModule({
  imports: [ RouterModule.forRoot(routes) ],
  exports: [ RouterModule ]
})

export class AppRoutingModule {}

然后将这些导入添加到 app.module.ts:

import { RouterModule } from '@angular/router';

import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';

我认为这就是我需要做的全部,但是当我加载我的应用程序时,我得到:

ERROR
Error: StaticInjectorError(AppModule)[RouterOutlet -> ChildrenOutletContexts]: 
StaticInjectorError(Platform: core)[RouterOutlet -> ChildrenOutletContexts]: 
NullInjectorError: No provider for ChildrenOutletContexts!

我用谷歌搜索了这个错误并发现: and 但我觉得这些没有帮助。

这是我的 stackblitz:https://stackblitz.com/edit/angular-j1seie?file=src%2Fapp%2Fapp.module.ts

不知道下一步该去哪里。

您只需将应用模块导入数组中的 RouterModule 替换为 AppRoutingModule。否则,应用程序将不知道您配置的路由。如果这对您来说是新的,很容易错过。