- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只是想向我的 Angular 应用程序添加一个解析器,但我收到了 NullInjectorError: No provider for AssetResolver_Factory!
错误。
我为提供程序数组尝试了很多不同的选项,但没有任何效果。解析器在 root 中提供,我看过的每个 SO 问题都说在 root 中使用 @Injectable() 提供它,或者将它添加到 app.module 中的 providers 数组
Angular 版本 11.0.1
我已经尝试过 providers: [AssetResolver]
我试过 providers: { provide: MatDialogRef, useValue: {}, AssetResolver }
我试过 providers: [{ provide: MatDialogRef, useValue: {}}, { provide: AssetResolver, useValue: {} }]
没有任何作用。
Angular CLI 生成的标准解析器,未更改
import { Injectable } from '@angular/core';
import {
Router, Resolve,
RouterStateSnapshot,
ActivatedRouteSnapshot
} from '@angular/router';
import { Observable, of } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class AssetResolver implements Resolve<boolean> {
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {
return of(true);
}
}
应用程序模块.ts
@NgModule({
declarations: [
//decs
],
imports: [
//imports
],
providers: [{
provide: MatDialogRef,
useValue: {},
}, AssetResolver],
bootstrap: [AppComponent]
})
export class AppModule { }
应用程序路由
const routes: Routes = [
{
path: '',
component: HomeComponent
},
{
path: 'wizard',
component: WizardComponent,
resolve: AssetResolver
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
最佳答案
在 App.routing 中,'resolve' 需要一个数组。这:解析:AssetResolver
应该是:resolve: [AssetResolver]
关于Angular 11 : NullInjectorError: No provider for AssetResolver_Factory! 即使使用@Injectable 并在 App.module 中提供,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65871140/
我只是想向我的 Angular 应用程序添加一个解析器,但我收到了 NullInjectorError: No provider for AssetResolver_Factory! 错误。 我为提供
我是一名优秀的程序员,十分优秀!