angular ng-класс с двумя классами, один из имени переменной и один с условием

Я немного застрял с проблемой, возможно, какой-то синтаксис, который я не могу найти в Интернете.

Я создал директиву angular, которая получает имя класса в качестве переменной области видимости. В шаблоне я хочу добавить данное имя класса и еще один класс как условный. что-то такое:

app.directive('MyDirective', function () {
    return {
        restrict: 'E',
        scope: {
            className: '=',
        },
        template: "<div ng-class="className, 'otherClass':{expression}"></div>"
    }
});

Спасибо :)


person maryum375    schedule 30.10.2015    source источник


Ответы (2)


Предполагая, что className является свойством области:

Вы можете использовать выражение массива с самим синтаксисом литерала объекта.

 <div ... ng-class="[className, {true : 'otherClass'}[expression]]"

или смешайте его с class

<div ... class="{{className}}" ng-class="{'otherClass': expression}"   
person PSL    schedule 30.10.2015

Вы можете использовать данные вашей области видимости с некоторым условием или выражением.

<div ng-class="{'{{item.name}}' : item.condition}">

or

<div ng-class="$variableToEvaluate ? '{{item.nameiftrue}}' : '{{item.nameiffalse}}'">
person Rafael Mih    schedule 30.10.2015