2017-05-23 24 views
11


我想從我的模塊之一導出服務,但我只得到了以下錯誤:廣東話出口服務「它既不宣佈也不進口」

ERROR Error: Uncaught (in promise): 
Error: Can't export value ConfirmDialogService from SharedModule as it was neither declared nor imported! 

我的模塊是以下:

import { NgModule }     from "@angular/core"; 
import { CommonModule }    from "@angular/common"; 
import { FormsModule }    from "@angular/forms"; 
import { RouterModule }    from "@angular/router"; 
import { MaterialModule }   from "@angular/material"; 

import { ConfirmDialogComponent }  from './confirm-dialog/confirm-dialog.component'; 
import { ConfirmDialogService }   from './confirm-dialog/confirm-dialog.service'; 

@NgModule({ 
    imports: [ 
     RouterModule, 
     CommonModule, 
     MaterialModule, 
     FormsModule 
    ], 
    providers: [ 
     ConfirmDialogService 
    ], 
    declarations: [ 
     ConfirmDialogComponent 
    ], 
    exports: [ 
     ConfirmDialogComponent 
     ConfirmDialogService 
    ] 
}) 
export class SharedModule {} 

這些文件確實存在並在TS中正確引用,但是在運行應用程序時出現錯誤。

回答

28

您不需要在exports中列出服務,並且您只能列出組件,指令和管道。對於服務,providers是相關的,但除此之外,TypeScript導入就足夠了。