2017-12-13 23 views
0

マイページに条件付きイオン選択を表示しようとしていますが、apkが開発目的で開発されている場合にのみ表示されます。私は生産目的のために開発されている私のAPKにそのイオン選択を表示したくないです。この選択により、ApiのURL全体が変更されます。私は動作していない別のソリューションを試しました。それらのいくつかは以下の通りです:イオン3の開発環境と生産環境を基にしたデータ表示

http://roblouie.com/article/296/ionic-2-environment-variables-the-best-way/ https://medium.com/@hin556/managing-environment-variables-in-ionic-2-43506f49acfb https://masimplo.com/using-environment-config-in-ionic2/index.html https://artyomsokolov.com/tag/typescript/

私は上記のすべてのソリューションと、より多くのを試してみましたが、それらは開発のために返すように生産のために同じデータを戻ってきています。どのように私は私の究極の目標を達成することができます。あなたの助けに感謝します。前もって感謝します。あなたはデフォルトを定義する必要があり、コンストラクタであなたのAppComponent

export const CONFIG: any = { 
    prodEnv: false, 
    apiUrl: null, 
    devApiUrl: 'http://localhost/app_dev.php/api/', 
    prodApiUrl: 'https://api.test.com/api/' 
}; 

どこか:これを行うには

答えて

0

一つの方法は、さんがconfig.ts、ご使用の環境の値を言わせて、あなた自身の設定ファイルに追加することですCONFIG.apiUrlの値です

あなたが選択を表示したいページで

、TSファイルに次の行を追加します。

get isProd() { 
    return CONFIG.prodEnv; 
} 
setProd(event) { 
    CONFIG.prodEnv = event; 
    CONFIG.apiUrl = event ? CONFIG.prodApiUrl : CONFIG.devApiUrl; 
} 

そしてHTMLで:

<ion-select *ngIf="!isProd" name="environment" (ionChange)="setProd($event)"> 
    <ion-option [value]="true">Production</ion-option> 
    <ion-option [value]="false" [selected]="!isProd">Development</ion-option> 
</ion-select> 
+0

は、ご返信いただきありがとうございます。しかし、私は環境変数に応じてイオン選択を表示したい。環境変数が「開発」ならば、私はそのイオン選択を表示したい、そして環境変数が「生産」であれば、イオン選択を表示したくないことを示したいと思う。 –

+0

これはまさしくそれが行っていることそれはイオン環境変数を使用していないということですが、 'prodEnv:true'を使って自分自身を設定します。これはデフォルト環境がプロダクションであることを意味し、それを' false'に設定すると開発環境です。内部のチェックにも使用できます。これはあなたを助けない場合は、うまくいけば、誰かがあなたのためにより適切な答えを思い付くでしょう。 –

関連する問題