假如我們有一個shareModule來存放公用的組件(Component)、指令(Directive)、管道(Pipe)、服務(Service),為避免各個子模塊引用shareModule時造成App中有多個一樣的單一實例服務的問題。我們可以在shareModule中建立同意的App層級的服務。

創(chuàng)新互聯是一家專業(yè)提供江蘇企業(yè)網站建設,專注與網站制作、做網站、H5建站、小程序制作等業(yè)務。10年已為江蘇眾多企業(yè)、政府機構等服務。創(chuàng)新互聯專業(yè)網站制作公司優(yōu)惠進行中。
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() 注冊單一實例服務問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創(chuàng)新互聯網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
網站題目:Angular6使用forRoot()注冊單一實例服務問題
文章來源:http://www.chinadenli.net/article44/gpcphe.html
成都網站建設公司_創(chuàng)新互聯,為您提供小程序開發(fā)、電子商務、云服務器、網站設計公司、全網營銷推廣、App設計
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯