我正在使用Ionic 2,并且自版本2.0.0以来在提供者/注入方面存在一些问题。 我不断得到的错误如下(不同的提供商,不仅仅是这一个):
未捕捉的错误: 无法解析LoginRedirectService的所有参数:(App,?,AlertController)。
解决我的提供者注入似乎存在问题,即使它们都是用@Injectable修饰的。
一个文件
@Injectable()
export class LoginRedirectService {
constructor(
public app:App,
//another provider, needed within this one - this cannot be resolved
public authService: AuthenticationService,
public alert:AlertController
)
//...
}
不同的文件
@Injectable()
export class AuthenticationService {
constructor(public dataService:DataService){
//...
}
}
//...
等等。
我还在app.module.ts中按照必须注入的顺序添加了所有提供程序:
//Ordered by dependencies, bottom is the most dependent on others
providers: [
HttpModule,
JsonpModule,
RssService,
EmergencyEmailService,
InAppBrowserService,
ExternalBrowser,
AppLauncherService,
LauncherPlaner,
LauncherSkype,
ConnectivityService,
MockRemoteDataService,
SoniaMirthRemoteDataService,
DataService,
AuthenticationService,
LoginRedirectService,
NewsStreamService,
SoniaBootstrapService
]
我的项目结构如下:
我已经尝试在需要它们的类的构造函数中显式调用@Inject,但也没有成功。
我真的没有想法该怎么做,感谢任何帮助,谢谢
答案 0 :(得分:0)
模块不是它们驻留在导入中的提供者。试试@peeskillet
给出的上述内容