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 相关文章推荐
javascript 程序库的比较(一)之DOM功能
Apr 07 Javascript
让JavaScript拥有类似Lambda表达式编程能力的方法
Sep 12 Javascript
11个用于提高排版水平的基于jquery的文字效果插件
Sep 14 Javascript
css结合js制作下拉菜单示例代码
Feb 27 Javascript
Node.js开启Https的实践详解
Oct 25 Javascript
Bootstrap表单使用方法详解
Feb 17 Javascript
微信小程序开发之map地图实现教程
Jun 08 Javascript
vue webuploader 文件上传组件开发
Sep 23 Javascript
Node.js实现发送邮件功能
Nov 06 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
Nov 23 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
Jul 06 Javascript
JavaScript引用类型Object常见用法实例分析
Aug 08 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/01 无线电
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
5秒后跳转到另一个页面的js代码
2013/10/12 Javascript
javascript生成随机大小写字母的方法
2014/02/20 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
JS打印组合功能
2016/08/04 Javascript
node安装--linux下的快速安装教程
2017/03/21 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
基于Vue的ajax公共方法(详解)
2018/01/20 Javascript
AngularJS创建一个上传照片的指令实例代码
2018/02/24 Javascript
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
[02:15]你好,这就是DOTA!
2015/08/05 DOTA
为Python的web框架编写前端模版的教程
2015/04/30 Python
python简单实现基数排序算法
2015/05/16 Python
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
Django配置文件代码说明
2019/12/04 Python
python绘制雪景图
2019/12/16 Python
台湾旅游网站:灿星旅游
2018/10/11 全球购物
外贸主管求职简历的自我评价
2013/10/23 职场文书
班组长安全职责
2014/01/05 职场文书
入党自我评价范文
2014/02/02 职场文书
万年牢教学反思
2014/02/15 职场文书
大学生党员承诺书
2014/05/20 职场文书
大学生就业求职信
2014/06/12 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
2016春季运动会前导词
2015/11/25 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android
Fluentd搭建日志收集服务
2022/09/23 Servers