Предположим, я показываю информацию о продукте. я хочу, если цена меньше 50, а цвет элемента должен быть красным. если цена более 50, то цвет товара должен быть желтым, а если цена больше (50+ (50 * 60/100)), тогда цвет элемента должен быть зеленым. теперь скажите мне, как я могу достичь этого наилучшим образом. направляйте меня с наилучшим подходом к его завершению.Как установить несколько условий в ng-классе
таким образом я попытался, но я узнал, что будет больше итераций из-за грязной проверки при работе с ng-repeat. см. мой код и расскажите, как я могу добавить несколько состояний в ng-классе для динамического определения класса.
<div ng-app="myApp">
<ul ng-controller="MyController">
<li ng-class="setColor(item.price)" ng-repeat="item in products">{{item.name}} — {{item.price}}</li>
</ul>
</div>
var myApp = angular.module('myApp', []);
myApp.controller('MyController', function MyController($scope) {
$scope.setColor = function(price) {
alert(price);
}
$scope.products = [
{
'name' : 'Xbox',
'clearance' : true,
'price' : 30.99,
},
{
'name' : 'Xbox 360',
'clearance' : false,
'salesStatus' : 'old',
'price' : 99.99,
},
{
'name' : 'Xbox One',
'salesStatus' : 'new',
'price' : 50,
},
{
'name' : 'PS2',
'clearance' : true,
'price' : 79.99,
},
{
'name' : 'PS3',
'salesStatus' : 'old',
'price' : 99.99,
},
{
'name' : 'PS4',
'salesStatus' : 'new',
'price' : 20.99,
}
]
})
скажите мне без вызова функции из нг-класса, как я мог поместить несколько, если другое условие в нг-классе?
if price > 50
return "css-class-yello"
else if price < 50
return "css-class-red"
else if price > (50+(50*60/100))
return "css-class-green"
если возможно, назовите меня кодом. благодаря
Ваше выражение может быть функцией контроллера, или вы можете иметь различные выражения для каждого класса. – isherwood
см. Мой последний, если есть еще, и скажите мне, как применить условие таким образом в моем ng-классе с образцом кода. – Mou
См. Ответ Роба. Это то, к чему я стремился. :) – isherwood