1

我还在学习角度。我试图在 stackblitz 上创建一个示例来提出另一个问题,但遇到了路由问题。

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

  imports:      [ BrowserModule,
                  FormsModule,
                  RouterModule,

然后我创建了 app-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!

我搜索了这个错误并发现:没有 ChildrenOutletContexts 的提供者(injectionError)错误:没有 ChildrenOutletContexts 的提供者,但我觉得这些没有帮助。

这是我的堆栈闪电战:https ://stackblitz.com/edit/angular-j1seie?file=src%2Fapp%2Fapp.module.ts 。

不知道下一步该去哪里。

4

1 回答 1

3

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

于 2019-07-06T15:15:27.733 回答