gpt4 book ai didi

angular - 没有 ChildrenOutletContexts 的提供者(注入(inject)错误)

转载 作者:太空狗 更新时间:2023-10-29 16:48:11 25 4
gpt4 key购买 nike

使用 Angular CLI 为我的应用程序生成路由模块时出现以下错误:

ERROR Error: No provider for ChildrenOutletContexts!
at injectionError (core.es5.js:1169)
at noProviderError (core.es5.js:1207)
at ReflectiveInjector_.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_._throwOrNull (core.es5.js:2649)
at ReflectiveInjector_.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_._getByKeyDefault (core.es5.js:2688)
at ReflectiveInjector_.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_._getByKey (core.es5.js:2620)
at ReflectiveInjector_.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_.get (core.es5.js:2489)
at resolveNgModuleDep (core.es5.js:9481)
at NgModuleRef_.webpackJsonp.../../../core/@angular/core.es5.js.NgModuleRef_.get (core.es5.js:10569)
at resolveDep (core.es5.js:11072)
at createClass (core.es5.js:10936)

我用 Angular CLI 生成路由模块是这样的:

ng generate module --routing App

这是路由模块的内容:

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { MyComponent } from './my/my.component';

const routes: Routes = [
{
path: '',
component: MyComponent,
},
];

@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
declarations: []
})
export class AppRoutingModule { }

这就是我的 app.component.html 中的内容:

<div class="container" role="main">
<router-outlet></router-outlet>
</div>

这个错误的原因是什么?

最佳答案

要解决此问题,请更改此行:

imports: [RouterModule.forChild(routes)],

到:

imports: [RouterModule.forRoot(routes)],

错误是因为 RouterModule.forChild() 生成的模块包含必要的指令和路由,但不包含路由服务。这就是 RouterModule.forRoot 的用途:它生成一个模块,其中包含必要的指令、路由、路由服务。

Angular 文档中的更多信息:Angular - Router Module .

关于angular - 没有 ChildrenOutletContexts 的提供者(注入(inject)错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46108581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com