NullInjectorError: Нет поставщика для ChildrenOutletContexts - PullRequest
0 голосов
/ 06 июля 2019

Я все еще учусь на английском. Я пытался создать пример на 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 (jectionError) и Ошибка: Нет поставщика для ChildrenOutletContexts , но я не нахожу это полезным.

Вот мой стек: https://stackblitz.com/edit/angular-j1seie?file=src%2Fapp%2Fapp.module.ts.

Не знаю, куда идти дальше.

1 Ответ

1 голос
/ 06 июля 2019

Вам просто нужно заменить RouterModule на AppRoutingModule в массиве импорта вашего модуля приложения. Без этого приложение не знает о настроенных вами маршрутах. Достаточно легко пропустить, если это плохо для вас.

...