2017-05-23 25 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导入就足够了。