@jfredsilva rõ ràng có câu trả lời đơn giản nhất cho câu hỏi:
ng-style = "{'width': (myObject.value == 'ok')? '100%': '0%'}"
Tuy nhiên, bạn có thể thực sự muốn xem xét câu trả lời của tôi cho một cái gì đó phức tạp hơn.
Ví dụ giống như ternary:
<p ng-style="{width: {true:'100%',false:'0%'}[myObject.value == 'ok']}"></p>
Một cái gì đó phức tạp hơn:
<p ng-style="{
color: {blueish: 'blue', greenish: 'green'}[ color ],
'font-size': {0: '12px', 1: '18px', 2: '26px'}[ zoom ]
}">Test</p>
Nếu $scope.color == 'blueish'
, màu sẽ là 'màu xanh'.
Nếu $scope.zoom == 2
, cỡ chữ sẽ là 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>