@jfredsilva के पास स्पष्ट रूप से इस प्रश्न का सबसे सरल उत्तर है :
एनजी-शैली = "{'चौड़ाई': (myObject.value == 'ok')?" 100% ':' 0% '} "
हालाँकि, आप वास्तव में कुछ अधिक जटिल के लिए मेरे जवाब पर विचार करना चाह सकते हैं।
टेर्नरी जैसा उदाहरण:
<p ng-style="{width: {true:'100%',false:'0%'}[myObject.value == 'ok']}"></p>
कुछ और जटिल:
<p ng-style="{
color: {blueish: 'blue', greenish: 'green'}[ color ],
'font-size': {0: '12px', 1: '18px', 2: '26px'}[ zoom ]
}">Test</p>
यदि $scope.color == 'blueish'
, रंग 'नीला' होगा।
यदि $scope.zoom == 2
, फ़ॉन्ट-आकार 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>