Angular 2 - 什么是DI错误?

时间:2017-03-01 14:58:46

标签: angular

我导入服务时出错,但我不知道为什么

import { CDService } from "../../services/definition";

constructor(
    private toastyCommunicationService: ToastyCommunicationService,
    private CDService : CDService,
    private SharedService: SharedService,
    private DatePipe: DatePipe
) { }

我的服务很空洞,因为我对错误感到非常沮丧,不知道是什么造成的。

export class CDService {

}

现在我收到了错误

EXCEPTION: Uncaught (in promise): Error: DI Error
Error: DI Error

我有两个问题:

1) DI错误到底是什么意思?

2)如何解决此错误?

3 个答案:

答案 0 :(得分:6)

是依赖注入错误。我想你缺少@Injectable()装饰器:

@Injectable() // this line
export class CDService {

} 

编辑:

您是否已将CDService添加到NgModule中?

答案 1 :(得分:5)

确保您已将此服务添加到您的模块providers

答案 2 :(得分:1)

使用@Injectable()确保您的服务可注射。这样,angular不仅可以理解一个typesscript类,还可以理解它的角度服务。