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 相关文章推荐
Array.slice()与Array.splice()的返回值类型
Oct 09 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
Aug 01 Javascript
ExtJS4中的requires使用方法示例介绍
Dec 03 Javascript
JavaScript事件委托的技术原理探讨示例
Apr 17 Javascript
javascript实现按回车键切换焦点
Feb 09 Javascript
JScript中的条件注释详解
Apr 24 Javascript
总结JavaScript设计模式编程中的享元模式使用
May 21 Javascript
Javascript中关于Array.filter()的妙用详解
Dec 04 Javascript
angular实现form验证实例代码
Jan 17 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
Jan 19 Javascript
jQuery获取table下某一行某一列的值实现代码
Apr 07 jQuery
webpack中使用iconfont字体图标的方法
Feb 22 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 多维数组排序(usort,uasort)
2010/06/30 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
php增删改查示例自己写的demo
2013/09/04 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
2014/06/13 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
php 函数中静态变量使用的问题实例分析
2020/03/05 PHP
javascript html 静态页面传参数
2009/04/10 Javascript
传智播客学习之JavaScript基础篇
2009/11/13 Javascript
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
一些实用的jQuery代码片段收集
2011/07/12 Javascript
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
判断客户浏览器是否支持cookie的示例代码
2013/12/23 Javascript
JS获取地址栏参数的几种方法小结
2014/02/28 Javascript
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
微信小程序间使用navigator跳转传值问题实例分析
2020/03/27 Javascript
python实现百度关键词排名查询
2014/03/30 Python
解读Python编程中的命名空间与作用域
2015/10/16 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
浅谈Python type的使用
2019/11/19 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
2019/12/10 Python
python实现滑雪者小游戏
2020/02/22 Python
python db类用法说明
2020/07/07 Python
python 带时区的日期格式化操作
2020/10/23 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
在校大学生的职业生涯规划书
2014/03/14 职场文书
《李广射虎》教学反思
2014/04/27 职场文书
生物工程专业求职信
2014/09/03 职场文书
安全责任书
2015/01/29 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
2019公司管理制度
2019/04/19 职场文书
一文搞懂Golang 时间和日期相关函数
2021/12/06 Golang