时间:2021-05-28
假如我们有一个shareModule来存放公用的组件(Component)、指令(Directive)、管道(Pipe)、服务(Service),为避免各个子模块引用shareModule时造成App中有多个一样的单一实例服务的问题。我们可以在shareModule中建立同意的App层级的服务。
ShareModuleimport { NgModule, ModuleWithProviders } from '@angular/core';@NgModule({ imports: [ HttpModule, JsonpModule, ... ], declarations: [ ShowItDirective, ... ], exports: [ ShowItDirective, ... ]})export class ShareModule{ // 给shareModule添加forRoot static forRoot(): ModuleWithProviders { return { ngModule: ShareModule, providers: [ MessageService, NotifyService, ... any service ], }; }}AppModule@NgModule({ declarations: [ AppComponent, ], imports: [ // 使用 ShareModule.forRoot(), ], providers: [ ], bootstrap: [AppComponent]})export class AppModule { }这样ShareModule中每一个service都只在app中注册了一个实例,也避免了每次使用service都要provider的问题。
ERROR NullInjectorError: StaticInjectorError(AppModule)[SurveyComponent -> PermissionCheckerService]:
NullInjectorError: No provider for PermissionCheckerService!
总结
以上所述是小编给大家介绍的Angular6使用forRoot() 注册单一实例服务问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了angular6开发steps步骤条组件的实现代码,供大家参考,具体内容如下1.先展示步骤条效果2.使用angular命令快速创建组件ngg
Angular6热加载配置方案,分享给大家,具体如下:示例ng版本如下:$ng--version__________/\________||______/___
在前面的文章中也曾经分别提到过,angular6由于存在一些稍大的变化,所以不能像Angular4到Angular5那样基本无感地进行升级,这里结合官方提示,简
Angular团队在angular6中,使得创建Angular第三方库变得更为简单。如果你以前尝试过操作,你会发现其实不是很简单!那么流程是什么呢?首页我们构建
本文介绍了详解Angular5/Angular6项目如何添加热更新(HMR)功能,分享给大家,具体如下:A:什么是HMR?Q:HMR(热替换)用于在运行的应用程