gpt4 book ai didi

Angular 8 解析器不工作 : No provider for Resolver

转载 作者:行者123 更新时间:2023-12-04 00:01:58 25 4
gpt4 key购买 nike

我有一个使用解析器的路由器,但它现在不工作。

这是错误消息:

Uncaught (in promise): NullInjectorError: StaticInjectorError(AppModule)[BlogResolver]: StaticInjectorError(Platform: core)[BlogResolver]: NullInjectorError: No provider for BlogResolver!



这是解析器的功能代码:
resolve(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot
): Observable<any> {
const id = route.params.id;
return this.service.findById(
}

这是路由器
{
path: 'blog/:id',
component: BlogpostComponent,
resolve: {
blogpost: BlogResolver,
},

我从来没有遇到过这个错误,也没有发现任何类似的东西。任何帮助表示赞赏。

编辑:

应用程序模块
@NgModule({
declarations: [
AppComponent,
FooterComponent,
NavbarComponent,
HomeComponent,
NotFoundComponent,
],
imports: [
BrowserModule,
HttpClientModule,
FormsModule,
ReactiveFormsModule,
NgbModule,
AppRoutingModule,
MinhaEmpresaModule,
],
providers: [],
bootstrap: [AppComponent],
})
export class AppModule {}

子模块:
@NgModule({
declarations: [
AEmpresaComponent,
ComoChegarComponent,
TrabalheConoscoComponent,
BlogComponent,
BlogpostComponent,
],
imports: [
CommonModule,
ReactiveFormsModule,
AEmpresaRoutingModule,
NgbPaginationModule,
],
})

最佳答案

您忘记在代码中的某处提供 BlogResolver。它可能在

应用模块:

@NgModule({
imports: [ BrowserModule, FormsModule, AppRoutingModule ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ],
providers: [ BlogResolver ] // **** ADD THIS LINE ****
})
export class AppModule { }

或在同一个 博客解析器 :
@Injectable({
providedIn: "root" // **** ADD THIS LINE ****
})
export class BlogResolver implements Resolve<Somedata> {
data: Somedata[] = [{ id: 1, name: "ABC" }];

如果您想查看相同类型的错误消息,请查看此 Stackblitz: https://stackblitz.com/edit/angular-m8azja

关于Angular 8 解析器不工作 : No provider for Resolver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59996430/

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