Ionic 2 / Angular 2提供商无法解决

时间:2016-10-25 11:36:20

标签: angular typescript ionic-framework ionic2 angular2-providers

我正在使用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
]

我的项目结构如下:

  • SRC
    • 应用
      • app.module.ts
      • app.component.ts
    • 资产
    • 提供商
      • 子文件夹
    • ...
  • package.json等。

我已经尝试在需要它们的类的构造函数中显式调用@Inject,但也没有成功。

我真的没有想法该怎么做,感谢任何帮助,谢谢

1 个答案:

答案 0 :(得分:0)

模块不是它们驻留在导入中的提供者。试试@peeskillet

给出的上述内容