2016-07-04 1 views
0

こんにちは、私は次のコードを持っている:変数の値でNG-クラスによって新しいクラスを与える

angular.module("myApp", []).controller("myController", function($scope) { 
 
    $scope.fieldSize = "cInputLarge"; //Change for the effect to -> cInputMedium, cInputLarge 
 
});
.cDefault { 
 
    width: 50px; 
 
} 
 
.cInputMedium { 
 
    width: 100px; 
 
} 
 
.cInputLarge { 
 
    width: 200px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="myApp" ng-controller="myController"> 
 
    <input class="cDefault" ng-class="{{fieldSize}}"> 
 
    <br> 
 
    <br>{{fieldSize}} 
 
</div>

私の目標は変更され、入力にクラス名を与えることであり、それの幅。私はng-classがどのように条件で動作するのか知っていますが、これも可能です(ng-classにクラス名をつけてプロパティを取ります)?

ありがとうございます。

答えて

1

に特異的に結合することができます。

angular.module("myApp", []).controller("myController", function($scope) { 
 
    $scope.fieldSize = "cInputLarge"; //Change for the effect to -> cInputMedium, cInputLarge 
 
});
.cDefault { 
 
    width: 50px; 
 
} 
 
.cInputMedium { 
 
    width: 100px; 
 
} 
 
.cInputLarge { 
 
    width: 200px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="myApp" ng-controller="myController"> 
 
    <input class="cDefault" ng-class="fieldSize"> 
 
    <br> 
 
    <br>{{fieldSize}} 
 
</div>

+0

こんにちは、お返事いただきありがとうございます。できるだけ早く正解とします。乾杯! – MrBuggy

0

はい正しいです。 あなただけの変数の名前を使用し、それが十分でなければならない範囲変数

+0

こんにちはを試してみたが、私のスニペットを見てください。バインドされたクラスからまだ200pxではなく50pxです...? – MrBuggy

+0

幅:200ピクセルであることを確認しました。 –

0

またはこの

<input class="cDefault" ng-class="{{'fieldSize'}}"> 
関連する問題