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效率个人经验谈(8-15更新),加入range技巧
Jan 09 Javascript
Javascript/Jquery——简单定时器的多种实现方法
Jul 03 Javascript
jquery定时滑出可最小化的底部提示层特效代码
Oct 02 Javascript
JQuery中使文本框获得焦点的方法实例分析
Feb 28 Javascript
jQuery+css实现炫目的动态块漂移效果
Jan 28 Javascript
jQuery Ajax File Upload实例源码
Dec 12 Javascript
微信小程序 传值取值的几种方法总结
Jan 16 Javascript
js变量值传到php过程详解 将php解析成数据
Jun 26 Javascript
js 判断当前时间是否处于某个一个时间段内
Sep 19 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
Jun 03 Javascript
详解JavaScript中new操作符的解析和实现
Sep 04 Javascript
原生JS实现音乐播放器
Jan 26 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
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
Prototype使用指南之enumerable.js
2007/01/10 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
可自定义速度的js图片无缝滚动示例分享
2014/01/20 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
jQuery中empty()方法用法实例
2015/01/16 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
Vue组件库发布到npm详解
2018/02/17 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
python复制文件的方法实例详解
2015/05/22 Python
python多进程共享变量
2016/04/06 Python
python 循环while和for in简单实例
2016/08/16 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
Python设计模式之状态模式原理与用法详解
2019/01/15 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
Python处理mysql特殊字符的问题
2020/03/02 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
详解python中的异常捕获
2020/12/15 Python
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
2014年社会实践活动总结范文
2014/04/29 职场文书
师德培训心得体会2016
2016/01/09 职场文书
教师学习心得体会范文
2016/01/21 职场文书
话题作文之诚信
2019/11/28 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
python 逐步回归算法
2021/04/06 Python
「月刊Comic Alive」2022年5月号封面公开
2022/03/21 日漫
python文件与路径操作神器 pathlib
2022/04/01 Python