2017-07-20 8 views
0

をチェックすると、私はこのように、ng-styleとラジオボタンのラベルの色を設定する方法を知っている:AngularJS - ラジオボタンのラベルの色を設定するために使用するNGスタイル

ng-style="{'background-color': buttonColor}" 

しかし、どのように、私は色を変更することができますng-styleディレクティブを使用してチェックされている場合、ラジオボタンラベルのCSSで、それはこのようなものです:

.radio-button:checked+label { 
    background-color: #52b6db; 
    border: 1px solid #52b6db; 
} 

EDIT:は基本的に、どのように私はng-styleを通じて:checked+labelスタイルプロパティを活用しますか?

+0

codepenを投稿できますか? – lealceldeiro

+0

でもng-classを使用することができます。 – Dixit

+0

ngstyleはインラインスタイルを使用しているため不可能です。代わりにng-classを使用してください。 – Shantanu

答えて

0

基本的にコントローラのng-styleの関数を呼び出し、ボタンの値に基づいて適切なスタイルオブジェクトを返します。

ng-style="$ctrl.getStyle()" 

function getStyle() { 
if (some condition) { 
    return { 
     background-color: #52b6db; 
     border: 1px solid #52b6db; 
} else { 
    return {...} 
} 

OK、これはそこに少しですが、これを行うことができます。あなたのアプリケーションをドキュメントレベル(htmlタグ上)にロードしたindex.htmlページ上にコントローラがあるセクションが実際にあり、コントローラ参照を使ってCSSを定義することができるので、ラジオ用に色を動的に設定することができます-button:このようにchecked + labelを指定します。

+0

':checked + label'スタイルのプロパティを' ng-style'でタップする方法は不思議ですね。 – georgej

+0

私はあなたのためにこのスタイルを必要としないと思います。それはあなたがまっすぐなCSSで行うことができるべきもののようです。私はCSSスタイルとngスタイルを混在させようとはしません。 ng-classにちょうど行くように思えるほうがずっと簡単です。 –

+0

でも、ストレートCSSクラスでは色をダイナミックにすることはできませんが、 'ng-style'では – georgej

関連する問題