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 相关文章推荐
JS类中定义原型方法的两种实现的区别
Mar 08 Javascript
js 目录列举函数
Nov 06 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
Mar 18 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
Jul 04 Javascript
对new functionName()定义一个函数的理解
May 22 Javascript
JS遍历数组及打印数组实例分析
Jan 21 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
Sep 05 Javascript
关于List.ToArray()方法的效率测试
Sep 30 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
Apr 21 jQuery
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
Jun 02 Javascript
javascrit中undefined和null的区别详解
Apr 07 Javascript
Vue组件通信$attrs、$listeners实现原理解析
Sep 03 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
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
ThinkPHP模板判断输出Empty标签用法详解
2014/06/30 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
2016/05/18 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
20个最新的jQuery插件
2012/01/13 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
基于javascript实现彩票随机数生成(简单版)
2020/04/17 Javascript
理解JS绑定事件
2016/01/19 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
详解JavaScript中数组的reduce方法
2016/12/02 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
微信小程序手机号码验证功能的实例代码
2018/08/28 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
Vue点击切换Class变化,实现Active当前样式操作
2020/07/17 Javascript
python多线程threading.Lock锁用法实例
2014/11/01 Python
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
matplotlib作图添加表格实例代码
2018/01/23 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
python hashlib加密实现代码
2019/10/17 Python
PatPat香港:婴童服饰和亲子全家装在线购物
2020/09/27 全球购物
圣诞节红领巾广播稿
2014/02/03 职场文书
女生节标语
2014/06/26 职场文书
治安消防安全责任书
2014/07/23 职场文书
婚前财产协议书范本
2014/10/19 职场文书
营销经理工作检讨书
2014/11/03 职场文书
导游词之韩国济州岛
2019/10/28 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
mysql主从复制的实现步骤
2021/10/24 MySQL
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技