【发布时间】:2017-04-01 18:14:28
【问题描述】:
我有 2 个服务 - angular2 中的 1/Files 和 2/FTPClient。
它们是单例服务——当通过它的构造函数注入到组件中时,它们可以完美地工作:
constructor(public filesIn:Files, public ftpIn:FTPClient){}
所以现在我想在 FTPClient 本身中使用文件服务器......所以我尝试了同样的事情。这是我的 FTPClient 服务构造函数的代码:
constructor(public filesIn:Files) {
this.files = filesIn;
}
但这会引发错误:
Can't resolve all parameters for FTPClient (?)
我的应用程序只有一个模块 - 文件和 FTPClient 都在提供程序列表中:
providers: [APIData,FTPClient,Files,SSHClient, WINDOW_PROVIDER]
请您解释一下我在这里做错了什么!
【问题讨论】:
-
你的
FTPClient类上面有@Injectable()装饰器吗? -
否 - 当我添加它时(我确实尝试过!)它会抛出错误 TS2304: Cannot find name 'Injectable'。
-
然后在您的服务中导入“Injectable”。
-
那么“怎么样”!那一点不在文档中
-
从'@angular/core'导入{可注入}; @Injectable() export class yourService { //这里的服务代码 }
标签: angular dependency-injection angular-services