@ jfredsilva jelas memiliki jawaban paling sederhana untuk pertanyaan:
ng-style = "{'width': (myObject.value == 'ok')? '100%': '0%'}"
Namun, Anda mungkin benar-benar ingin mempertimbangkan jawaban saya untuk sesuatu yang lebih kompleks.
Contoh seperti-ternary:
<p ng-style="{width: {true:'100%',false:'0%'}[myObject.value == 'ok']}"></p>
Sesuatu yang lebih kompleks:
<p ng-style="{
color: {blueish: 'blue', greenish: 'green'}[ color ],
'font-size': {0: '12px', 1: '18px', 2: '26px'}[ zoom ]
}">Test</p>
Jika $scope.color == 'blueish'
, warnanya akan 'biru'.
Jika $scope.zoom == 2
, ukuran font adalah 26px.
angular.module('app',[]);
function MyCtrl($scope) {
$scope.color = 'blueish';
$scope.zoom = 2;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
<div ng-app="app" ng-controller="MyCtrl" ng-style="{
color: {blueish: 'blue', greenish: 'green'}[ color ],
'font-size': {0: '12px', 1: '18px', 2: '26px'}[ zoom ]
}">
color = {{color}}<br>
zoom = {{zoom}}
</div>