メインコンテンツへスキップ
バージョン: v8

Config

Ionic Configは、アプリ全体でコンポーネントのプロパティをグローバルに変更する方法を提供します。アプリのモード、タブボタンのレイアウト、アニメーションなどを設定できます。

グローバル設定

利用可能な設定キーは、IonicConfigインターフェースにあります。

次の例では、リップル効果を無効にし、モードをマテリアルデザインにデフォルト設定します

example.js
window.Ionic = {
config: {
rippleEffect: false,
mode: 'md',
},
};

コンポーネントごとの設定

Ionic Configはリアクティブではありません。コンポーネントがレンダリングされた後に設定の値を更新すると、前の値になります。リアクティブな値が必要な場合は、設定を更新する代わりにコンポーネントのプロパティを使用することをお勧めします。

推奨されない

window.Ionic = {
config: {
// Not recommended when your app requires reactive values
backButtonText: 'Go Back',
},
};

推奨

<ion-back-button></ion-back-button>

<script>
const backButton = document.querySelector('ion-back-button');

/**
* The back button text can be updated
* anytime the locale changes.
*/
backButton.text = 'Go Back';
</script>

プラットフォームごとの設定

Ionic Configは、プラットフォームごとに設定することもできます。たとえば、これにより、アプリが潜在的に低速なデバイス上のブラウザで実行されている場合に、アニメーションを無効にすることができます。開発者は、プラットフォームユーティリティを利用してこれを実現できます。

次の例では、アプリがモバイルWebブラウザで実行されている場合にのみ、Ionicアプリのすべてのアニメーションを無効にしています。

構成は実行時に設定されるため、プラットフォーム依存性注入にアクセスできません。代わりに、プロバイダーが直接使用する基になる関数を使用できます。

検出できるプラットフォームの種類については、Angularプラットフォームドキュメントを参照してください。

app.module.ts
import { isPlatform, IonicModule } from '@ionic/angular';

@NgModule({
...
imports: [
IonicModule.forRoot({
animated: !isPlatform('mobileweb')
})
],
...
})

フォールバック

次の例では、プラットフォームに基づいて完全に異なる構成を設定し、一致するプラットフォームがない場合はデフォルト構成にフォールバックできます。

app.module.ts
import { isPlatform, IonicModule } from '@ionic/angular';

const getConfig = () => {
let config = {
animated: false
};

if (isPlatform('iphone')) {
config = {
...config,
backButtonText: 'Previous'
}
}

return config;
}
@NgModule({
...
imports: [
IonicModule.forRoot(getConfig())
],
...
});

オーバーライド

この最後の例では、さまざまなプラットフォーム要件に基づいて構成オブジェクトを累積できます。

app.module.ts
import { isPlatform, IonicModule } from '@ionic/angular';

const getConfig = () => {
if (isPlatform('hybrid')) {
return {
tabButtonLayout: 'label-hide'
}
}

return {
tabButtonLayout: 'icon-top'
};
}
@NgModule({
...
imports: [
IonicModule.forRoot(getConfig())
],
...
});

構成の読み取り(Angular)

Ionic Angularは、Ionic ConfigにアクセスするためのConfigプロバイダーを提供します。

get

説明設定値をanyとして返します。設定が定義されていない場合はnullを返します。
署名get(key: string, fallback?: any) => any

import { Config } from '@ionic/angular';

@Component(...)
class AppComponent {
constructor(config: Config) {
const mode = config.get('mode');
}
}

getBoolean

説明設定値をbooleanとして返します。設定が定義されていない場合はfalseを返します。
署名getBoolean(key: string, fallback?: boolean) => boolean

import { Config } from '@ionic/angular';

@Component(...)
class AppComponent {
constructor(config: Config) {
const swipeBackEnabled = config.getBoolean('swipeBackEnabled');
}
}

getNumber

説明設定値をnumberとして返します。設定が定義されていない場合は0を返します。
署名getNumber(key: string, fallback?: number) => number

インターフェース

IonicConfig

以下は、Ionicが使用する構成オプションです。

Configタイプ説明
actionSheetEnterAnimationBuilderすべてのion-action-sheetに対してカスタムのエンターアニメーションを提供し、デフォルトの「animation」をオーバーライドします。
actionSheetLeaveAnimationBuilderすべてのion-action-sheetに対してカスタムのリーブアニメーションを提供し、デフォルトの「animation」をオーバーライドします。
alertEnterAnimationBuilderすべてのion-alertに対してカスタムのエンターアニメーションを提供し、デフォルトの「animation」をオーバーライドします。
alertLeaveAnimationBuilderすべてのion-alertに対してカスタムのリーブアニメーションを提供し、デフォルトの「animation」をオーバーライドします。
animatedbooleantrueの場合、Ionicはアプリ全体でアニメーションとトランジションをすべて有効にします。
backButtonDefaultHrefstringすべての<ion-back-button>コンポーネントのdefaultHrefプロパティのデフォルト値をオーバーライドします。
backButtonIconstringすべての<ion-back-button>コンポーネントのデフォルトアイコンをオーバーライドします。
backButtonTextstringすべての<ion-back-button>コンポーネントのデフォルトテキストをオーバーライドします。
innerHTMLTemplatesEnabledboolean関連コンポーネント: ion-alertion-infinite-scroll-contention-loadingion-refresher-contention-toasttrueの場合、関連コンポーネントに渡されるコンテンツはプレーンテキストではなくHTMLとして解析されます。デフォルトはfalseです。
hardwareBackButtonbooleantrueの場合、IonicはAndroidデバイスのハードウェアバックボタンに応答します。
infiniteLoadingSpinnerSpinnerTypesすべての<ion-infinite-scroll-content>コンポーネントのデフォルトのスピナータイプをオーバーライドします。
loadingEnterAnimationBuilderすべてのion-loadingに対してカスタムのエンターアニメーションを提供し、デフォルトの「animation」をオーバーライドします。
loadingLeaveAnimationBuilderすべてのion-loadingに対してカスタムのリーブアニメーションを提供し、デフォルトの「animation」をオーバーライドします。
loadingSpinnerSpinnerTypesすべてのion-loadingオーバーレイのデフォルトのスピナーをオーバーライドします。
menuIconstringすべての<ion-menu-button>コンポーネントのデフォルトアイコンをオーバーライドします。
menuTypestringすべての<ion-menu>コンポーネントのデフォルトのメニュータイプをオーバーライドします。
modalEnterAnimationBuilderすべてのion-modalに対してカスタムのエンターアニメーションを提供し、デフォルトの「animation」をオーバーライドします。
modalLeaveAnimationBuilderすべてのion-modalに対してカスタムのリーブアニメーションを提供し、デフォルトの「animation」をオーバーライドします。
modeModeモードは、アプリケーション全体で使用するプラットフォームスタイルを決定します。
navAnimationAnimationBuilderアプリケーション全体のすべてのion-navおよびion-router-outletのデフォルトの「animation」をオーバーライドします。
pickerEnterAnimationBuilderすべてのion-pickerに対してカスタムのエンターアニメーションを提供し、デフォルトの「animation」をオーバーライドします。
pickerLeaveAnimationBuilderすべてのion-pickerに対してカスタムのリーブアニメーションを提供し、デフォルトの「animation」をオーバーライドします。
platformPlatformConfigデフォルトのプラットフォーム検出方法をオーバーライドします。
popoverEnterAnimationBuilderすべてのion-popoverに対してカスタムのenterアニメーションを提供し、デフォルトの「animation」を上書きします。
popoverLeaveAnimationBuilderすべてのion-popoverに対してカスタムのleaveアニメーションを提供し、デフォルトの「animation」を上書きします。
refreshingIconstringすべての<ion-refresh-content>コンポーネントでデフォルトのアイコンを上書きします。
refreshingSpinnerSpinnerTypesすべての<ion-refresh-content>コンポーネントでデフォルトのスピナータイプを上書きします。
rippleEffectbooleantrueの場合、アプリ全体でMaterial Designのリプル効果が有効になります。
sanitizerEnabledbooleantrueの場合、IonicはカスタムHTMLを受け入れるコンポーネントプロパティに対して基本的なDOMサニタイザーを有効にします。
spinnerSpinnerTypesすべての<ion-spinner>コンポーネントでデフォルトのスピナーを上書きします。
statusTapbooleantrueの場合、ステータスバーをクリックまたはタップすると、コンテンツが一番上までスクロールします。
swipeBackEnabledbooleantrueの場合、Ionicはアプリケーション全体で「スワイプして戻る」ジェスチャーを有効にします。
tabButtonLayoutTabButtonLayoutアプリケーション全体のすべてのion-bar-buttonのデフォルトの「layout」を上書きします。
toastDurationnumberすべてのion-toastコンポーネントのデフォルトのdurationを上書きします。
toastEnterAnimationBuilderすべてのion-toastに対してカスタムのenterアニメーションを提供し、デフォルトの「animation」を上書きします。
toastLeaveAnimationBuilderすべてのion-toastに対してカスタムのleaveアニメーションを提供し、デフォルトの「animation」を上書きします。
toggleOnOffLabelsbooleanすべてのion-toggleコンポーネントでデフォルトのenableOnOffLabelsを上書きします。
experimentalCloseWatcherboolean実験的: trueの場合、CloseWatcher APIは、メニューとオーバーレイを閉じるため、およびナビゲーションのために、すべてのEscapeキーとハードウェアバックボタンの押下を処理するために使用されます。hardwareBackButton設定オプションもtrueである必要があることに注意してください。
focusManagerPriorityFocusManagerPriority[]実験的: 定義されている場合、Ionicは各ページ遷移後にフォーカスを適切な要素に移動します。これにより、支援技術を利用するユーザーがページ遷移が発生したときに通知されるようになります。デフォルトでは無効になっています。