2015-03-16 8 views
0

Я пытаюсь объединить условия условия ng-класса в моем случае.Как настроить имя класса в моем случае

У меня есть следующие утверждения.

<div ng-class="item.new ? 'newItem' : 'oldItem'; 'discount' : item.getType === true && item.getSave === true">{{item.name}}</div> 

Я получаю ошибку синтаксического анализа.

Syntax Error: Token ':' is an unexpected 

Я не уверен, как исправить это. Может ли кто-нибудь мне помочь? Большое спасибо

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator –

+0

Разве это не '' скидка '? item.getType' – Chad

ответ

1

Используйте этот синтаксис вместо:

<div ng-class="{newItem: item.new, oldItem: !item.new, discount: item.getType === true && item.getSave === true}"> 

Или же поставить логику в функции:

<div ng-class="getClasses(item)"> 

И в контроллере:

$scope.getClasses = function(item) { 
    return { 
    newItem: item.new, 
    oldItem: !item.new, 
    discount: item.getType === true && item.getSave === true 
    }; 
} 

FYI: от эту функцию вы можете вернуть объект или массив классов или строку.