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以及xml节点访问兼容问题
Nov 26 Javascript
JavaScript中的变量声明早于赋值分析
Mar 01 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
Jun 24 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
Aug 09 Javascript
setinterval()与clearInterval()JS函数的调用方法
Jan 21 Javascript
jquery无限级联下拉菜单简单实例演示
Nov 23 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Dec 14 Javascript
Vue.js实现模拟微信朋友圈开发demo
Apr 20 Javascript
Bootstrap多级菜单的实现代码
May 23 Javascript
Angular4学习教程之HTML属性绑定的方法
Jan 04 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
May 29 jQuery
如何在vue中使用kindeditor富文本编辑器
Dec 19 Vue.js
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中curl_setopt函数用法实例分析
2015/04/16 PHP
php实现通过ftp上传文件
2015/06/19 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
Yii框架安装简明教程
2020/05/15 PHP
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
常规表格多表头查询示例
2014/02/21 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
AngularJS页面带参跳转及参数解析操作示例
2017/06/28 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
应聘护士自荐信
2013/10/21 职场文书
公务员个人自我评价分享
2013/11/06 职场文书
应用化学专业职业生涯规划书
2014/01/22 职场文书
《秋姑娘的信》教学反思
2014/02/28 职场文书
毕业典礼演讲稿
2014/05/13 职场文书
安全负责人任命书
2014/06/06 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
财务部岗位职责
2015/02/03 职场文书
2015年科室工作总结
2015/04/10 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
休假证明书
2015/06/24 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
python实现三次密码验证的示例
2021/04/29 Python
基于Python实现对比Exce的工具
2022/04/07 Python