小さなアプリケーションwitl Ionic v2のコードを引き継いでいます。私は翻訳にng2-translate
を使用しています。私はモーダルウィンドウでのみ翻訳に関する問題があります。このモードでは、私はトランスサルティションキーしか見ることができませんが、どこでもうまく動作します。イオンモーダルで翻訳ができません
は、ここに私のAppModule
です:
@NgModule({
declarations: [
MyApp,
// ...
SearchPersonModal
],
imports: [
IonicModule.forRoot(MyApp),
ChartModule,
TranslateModule.forRoot({
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [Http]
})
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
// ...
SearchPersonModal,
],
providers: [
ApiCaller
]
})
export class AppModule {}
モーダルは、リモート・データベース内のユーザーを検索するためのアプリケーションで使用されています。ここでは、モーダルコンポーネントのコードは次のとおりです。
@Component({
selector: 'page-search-person',
templateUrl: 'search-person.html',
})
export class SearchPersonModal {
public caller : ApiCaller = null;
public translate : TranslateService = null;
// ..
constructor(
public viewCtrl: ViewController,
public toastr: ToastController,
params: NavParams
) {
this.translate = params.get('translate');
this.caller = params.get('caller');
}
// ...
}
そしてここでは、モーダルが提示される方法です。
let modal = this.modalCtrl.create(SearchPersonModal, {
caller: this.caller,
translate : this.translate
});
私は依存性の注入「はdidnのため、コードの作者はパラメータなどのサービスを渡されると思います仕事。実際に、私はそうしようとすると、このコンストラクタで:
export class SearchPersonModal {
//public caller : ApiCaller = null;
//public translate : TranslateService = null;
// ...
constructor(
public viewCtrl: ViewController,
public toastr: ToastController,
public caller: ApiCaller,
public translate: TranslateService,
params: NavParams
) {
//this.translate = params.get('translate');
//this.caller = params.get('caller');
}
// ...
}
翻訳はまだ動作しませんが、期待通りApiCaller
サービスが動作します。なぜこのサービスはうまくいくのですか?