]") : in NgModule AppModule in ./AppModule@-1:-1-6ren"> ]") : in NgModule AppModule in ./AppModule@-1:-1-I have added this code into my app.module.ts providers: [ AppConfigService, { -6ren">
gpt4 book ai didi

angular - 无法实例化循环依赖! ApplicationRef ("[ERROR ->]") : in NgModule AppModule in ./AppModule@-1:-1

转载 作者:太空狗 更新时间:2023-10-29 17:27:34 25 4
gpt4 key购买 nike

I have added this code into my app.module.ts

    providers: [ AppConfigService,
{
provide: APP_INITIALIZER,
useFactory: (config: AppConfigService) => () => config.getAppConfig(),
deps: [AppConfigService],
multi: true
},
]

出现这个错误

enter image description here

问题:我用过ngx-permission pkg 以获得许可。我设置了route权限方法。但是当我刷新一个页面时,那个时候在主页上重定向而不是停留在当前页面上。所以我试了to load permissions before application start up method用于解决此问题但出现此错误。

 config.getAppConfig() // call when application start up

有什么想法请帮忙。也欢迎其他解决方案。

最佳答案

当您的 APP_INITIALIZER 中的依赖项依赖于 Angular 服务时,例如路由器

解决方案是延迟注入(inject),方法是更改​​服务的构造函数以接受 Injector,然后在构造函数外部解析值。

示例 AppConfigService:

import { Injectable, Injector } from '@angular/core';
import { Router } from '@angular/router';

@Injectable({
providedIn: 'root'
})
export class AppConfigService {

// Helper property to resolve the service dependency.
private get _router() { return this._injector.get(Router); }

constructor(
//private _router: Router
private _injector: Injector
) { }

navigate() {
this._router.navigate(['/']);
}
}

关于angular - 无法实例化循环依赖! ApplicationRef ("[ERROR ->]") : in NgModule AppModule in ./AppModule@-1:-1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46441139/

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