Angular6使用forRoot() 注册单一实例服务问题


Posted in Javascript onAugust 27, 2019

假如我们有一个shareModule来存放公用的组件(Component)、指令(Directive)、管道(Pipe)、服务(Service),为避免各个子模块引用shareModule时造成App中有多个一样的单一实例服务的问题。我们可以在shareModule中建立同意的App层级的服务。

ShareModule
import { 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() 注册单一实例服务问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
基于Jquery的淡入淡出的特效基础练习
Dec 13 Javascript
javascript将数组插入到另一个数组中的代码
Jan 10 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
Dec 28 Javascript
JS中递归函数
Jun 17 Javascript
jQuery与JS加载事件用法分析
Sep 04 Javascript
微信小程序 倒计时组件实现代码
Oct 24 Javascript
Javascript blur与click冲突解决办法
Jan 09 Javascript
深入理解node.js之path模块
May 03 Javascript
详解vue中localStorage的使用方法
Nov 22 Javascript
百度小程序之间的页面通信过程详解
Jul 18 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
Jul 25 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
Mar 23 Javascript
jQuery - AJAX load() 实例用法详解
Aug 27 #jQuery
JS实现提示框跟随鼠标移动
Aug 27 #Javascript
js对象数组和对象的使用实例详解
Aug 27 #Javascript
vue递归组件实战之简单树形控件实例代码
Aug 27 #Javascript
vue项目中引入Sass实例方法
Aug 27 #Javascript
package.json配置文件构成详解
Aug 27 #Javascript
axios如何利用promise无痛刷新token的实现方法
Aug 27 #Javascript
You might like
php 进度条实现代码
2009/03/10 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
2019/10/16 PHP
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
2017/07/31 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
vue自定义指令directive的使用方法
2019/04/07 Javascript
使用python删除nginx缓存文件示例(python文件操作)
2014/03/26 Python
python创建一个最简单http webserver服务器的方法
2015/05/08 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
Tensorflow实现神经网络拟合线性回归
2019/07/19 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
tensorflow 变长序列存储实例
2020/01/20 Python
python dumps和loads区别详解
2020/02/04 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
团队拓展活动总结
2014/08/27 职场文书
关键在于落实心得体会
2014/09/03 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
幼儿园教师读书笔记
2015/06/29 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
经典《舰娘》游改全新动画预告 预定11月开播
2022/04/01 日漫
SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
2023/05/08 MySQL