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加解密功能页面
Dec 12 Javascript
表格 隔行换色升级版
Nov 07 Javascript
原生js 秒表实现代码
Jul 24 Javascript
JS 精确统计网站访问量的实例代码
Jul 05 Javascript
JavaScript函数节流概念与用法实例详解
Jun 20 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
Jun 09 Javascript
详解vue-router和vue-cli以及组件之间的传值
Jul 04 Javascript
vue页面切换过渡transition效果
Oct 08 Javascript
vue项目移动端实现ip输入框问题
Mar 19 Javascript
JS实现横向跑马灯效果代码
Apr 20 Javascript
JS数据类型判断的几种常用方法
Jul 07 Javascript
JavaScript实现鼠标经过表格某行时此行变色
Nov 20 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模拟HTTP认证
2006/10/09 PHP
Discuz板块横排显示图片的实现方法
2007/05/28 PHP
PHP 获取文件路径(灵活应用__FILE__)
2013/02/15 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
javascript比较文档位置
2008/04/08 Javascript
提高网站信任度的技巧
2008/10/17 Javascript
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
JS关闭窗口或JS关闭页面的几种代码分享
2013/10/25 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
weui框架实现上传、预览和删除图片功能代码
2017/08/24 Javascript
vux uploader 图片上传组件的安装使用方法
2018/05/15 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
vue实现百度语音合成的实例讲解
2019/10/14 Javascript
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
javascript实现获取中文汉字拼音首字母
2020/05/19 Javascript
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
Python实现简单登录验证
2016/04/13 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
Python 处理图片像素点的实例
2019/01/08 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
2019/06/04 Python
Python无损压缩图片的示例代码
2020/08/06 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
一年级数学教学反思
2014/02/01 职场文书
三字经教学反思
2014/04/26 职场文书
单位授权委托书范文
2014/08/02 职场文书
2015年学校图书室工作总结
2015/05/19 职场文书
浅析Python OpenCV三种滤镜效果
2022/04/11 Python