中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Angular6使用forRoot() 注冊單一實例服務問題

發布時間:2020-10-01 11:39:52 來源:腳本之家 閱讀:246 作者:wuyongqiu 欄目:web開發

假如我們有一個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() 注冊單一實例服務問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

萨嘎县| 左云县| 新营市| 九江市| 五指山市| 连平县| 大关县| 常宁市| 侯马市| 陇南市| 铜山县| 子长县| 通城县| 双桥区| 新平| 阳信县| 尼玛县| 台北市| 同德县| 凤凰县| 河源市| 天等县| 临洮县| 门源| 山东省| 临邑县| 昌乐县| 宣汉县| 江北区| 阿合奇县| 太原市| 左权县| 昭觉县| 嫩江县| 晴隆县| 建宁县| 大城县| 苍山县| 神木县| 桃源县| 岐山县|