Angular providedIn:LazyModule失败,没有提供程序错误
我想将中提供的Angular providedIn:LazyModule失败,没有提供程序错误,angular,angular-dependency-injection,Angular,Angular Dependency Injection,我想将中提供的选项引用到一个提供声明和依赖项的角度模块。我创建了一个附加模块SharedModule,作为lazy模块LazyModule的子模块,以便它可以用作我想要提供的lazy服务的“锚定”(CounterService)。我一直遵循这一点来实现它,但显然做了一些错误的事情。 另外,我做了一个小计划,但请看一看完整的例子 Eager部分延迟加载模块 +----------------------------------------------+ +-------------------
选项引用到一个提供声明和依赖项的角度模块。我创建了一个附加模块SharedModule
,作为lazy模块LazyModule
的子模块,以便它可以用作我想要提供的lazy服务的“锚定”(CounterService
)。我一直遵循这一点来实现它,但显然做了一些错误的事情。
另外,我做了一个小计划,但请看一看完整的例子
Eager部分延迟加载模块
+----------------------------------------------+ +--------------------------------------+
|路由:| |@NgModule({|
|| |导入:[共享模块]|
|{ | | } |
|路径:'lazy',| |导出类LazModule{}|
|loadChildren:'./懒惰/懒惰.模块#LazyModule ||
|} | | |
+----------------------------------------------+|共享模块|
| +----------------------------------+ |
||@NgModule({||
||声明:[共享组件],||
||导出:[共享组件]||
| |}) | |
||导出类SharedModule{}||
| +----------------------------------+ |
| |
| |
|懒散的服务|
| +----------------------------------+ |
||@可注射({||
||提供于:共享模块||
| |}) | |
||导出类反服务{||
||计数器=0;||
| |} | |
| +----------------------------------+ |
| |
+--------------------------------------+
正如前面提到的,您需要在自己的模块中定义服务,以避免循环依赖性问题
计数器模块.ts
柜台服务.ts
在共享模块中导入计数器模块。
共享的.module.ts
以下是工作堆栈闪电战:
import { NgModule, ModuleWithProviders } from "@angular/core";
@NgModule({
})
export class CounterModule {}
import { Injectable } from '@angular/core';
import { CounterModule } from "./counter.module";
@Injectable({
providedIn: CounterModule
})
export class CounterService {
counter = 0;
}
@NgModule({
imports: [
CounterModule
],
declarations: [SharedComponent],
exports: [SharedComponent]
})
export class SharedModule {}