2016-11-28 3 views
1

現在表示されているビューに応じて、マイ・イオン1シングル・ページ・アプリケーションのion-nav-barbackground-colorを変更したいと考えています。イオンナビゲータのページ単位のカスタマイズ

デフォルトのイオンコードジェネレーターから始めて、アプリのスケルトンはmenu.htmlファイルにあり、各ページには独自のHTMLテンプレートと独自のコントローラーがあります。

ion-nav-barbackground-colorをHTMLテンプレートまたはそのコントローラから強制するにはどうすればよいですか?

btw、私は既に成功しているSASSが役に立ちましたら、

多くの感謝!

答えて

2


まあJavaScriptでこれを行うためのさまざまな方法があります。

$rootScope.backgroundColor = 'yellow'

ます。また、設定定義済みのクラスを使用することができます。一つの方法は、あなたが別の色で、あなたはコントローラから背景色を変更することができたいビュー

<ion-nav-bar ng-style="{'background-color': $root.backgroundColor}"> </ion-nav-bar>それぞれに続いて

ですCSSの背景色。また、コントローラ内のクラス名を変更:

$rootScope.backgroundClass = 'yellow-bg'

<ion-nav-bar ng-class="$root.backgroundClass"> </ion-nav-bar>

又は <ion-nav-bar ng-class="{$root.backgroundClass: true}"> </ion-nav-bar>

及びCSSで、

.yellow-bg {background-color: yellow} .red-bg {background-color: red}

各クラスにそれぞれの背景色を定義します

必要に応じて、このためのディレクティブを作成できます。

+0

ご協力いただきありがとうございます。残念ながら、それは助けにはならない。 – bfredo123

+0

申し訳ありません。詳細は少しお待ちください! – bfredo123

+0

私はクラスのアプローチを使いました:1)ionic.app.scssのいくつかのクラスを異なる背景色で定義します。 2)menu.htmlにng-classを追加し、それに応じてrootScopeを設定します。何も起こりません。しかし、menu.htmlで 'class = "yellow-bg"'を設定すると、それは機能します。 $ rootScopeがコントローラ内で更新されると、$ rootが更新されないようです。また、私はChromeのインスペクタをチェックインして、私の前提を確認します。私は$ rootScope。$ apply()を試しましたが、これは例外を起動します。 – bfredo123

関連する問題