Ionic 2 を使用していますが、バージョン 2.0.0 以降のプロバイダー/インジェクションに問題があります。私が取得し続けるエラーは次のとおりです(これだけでなく、さまざまなプロバイダーで):
キャッチされないエラー: LoginRedirectService のすべてのパラメーターを解決できません: (App、?、AlertController)。
プロバイダはすべて @Injectable で装飾されていますが、プロバイダのインジェクションの解決に問題があるようです。
1 つのファイル
@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
]
私のプロジェクト構造は次のようになります。
- ソース
- アプリ
- app.module.ts
- app.component.ts
- 資産
- ページ
- プロバイダー
- サブフォルダ
- ...
- アプリ
- package.json など
必要なクラスのコンストラクターで @Inject を明示的に呼び出してみましたが、どちらも成功しませんでした。
私は本当に何をすべきかについての考えがありません。助けに感謝します、ありがとう