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 相关文章推荐
硬盘浏览程序,保存成网页格式便可使用
Dec 03 Javascript
深入认识javascript中的eval函数
Nov 02 Javascript
javascript学习之闭包分析
Dec 02 Javascript
jquery $.getJSON()跨域请求
Dec 21 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
Mar 25 Javascript
JavaScript中的console.dir()函数介绍
Dec 29 Javascript
jQuery制作拼图小游戏
Jan 12 Javascript
多种JQuery循环滚动文字图片效果代码
Jun 23 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
Nov 05 Javascript
使用vue-router在Vue页面之间传递数据的方法
Jul 15 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
Sep 26 Javascript
微信小程序vant弹窗组件的实现方式
Feb 21 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
2020显卡排行榜天梯图 显卡天梯图2020年3月最新版
2020/04/02 数码科技
PHP PDO函数库详解
2010/04/27 PHP
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
PHP实现网站访问量计数器
2017/10/27 PHP
jquery ajax 登录验证实现代码
2009/09/23 Javascript
ejs v9 javascript模板系统
2012/03/21 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
AngularJS实现Input格式化的方法
2016/11/07 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
2016/11/25 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
常用的9个JavaScript图表库详解
2017/12/19 Javascript
js判断节假日实例代码
2017/12/27 Javascript
vue实现模态框的通用写法推荐
2018/02/26 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
vue data恢复初始化数据的实现方法
2019/10/31 Javascript
使用python实现扫描端口示例
2014/03/29 Python
Python 基础之字符串string详解及实例
2017/04/01 Python
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
Python3解释器知识点总结
2019/02/19 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
MADE法国:提供原创设计师家具
2018/09/18 全球购物
MAC Cosmetics官方网站:魅可专业艺术彩妆
2019/04/10 全球购物
小学英语教学反思案例
2014/02/04 职场文书
特教教师先进事迹
2014/05/21 职场文书
感恩小明星事迹材料
2014/05/23 职场文书
设备管理实施方案
2014/05/31 职场文书
灵山大佛导游词
2015/02/04 职场文书
Golang连接并操作MySQL
2022/04/14 MySQL