Угловая - добавьте класс к кнопке, если на странице [дубликат]

Если вы знакомы с селектором jQuery, вы можете использовать ScarletsQuery для PHP

selector('head meta[name="description"]')[0];

// Get 'content' attribute value from meta tag
print_r($description->attr('content'));

$description = $dom->selector('#Content p');

// Get element array
print_r($description->view);

. Эта библиотека обычно занимает менее 1 секунды для обработки автономного html. Он также принимает недопустимые HTML или отсутствующие цитаты по атрибутам тегов.

428
задан AlikElzin-kilaka 8 December 2015 в 09:54
поделиться

10 ответов

Ваша первая попытка была почти права: она должна работать без кавычек.

{test: obj.value1 == 'someothervalue'}

Вот plnkr .

Директива ngClass будет работа с любым выражением, которое оценивает правду или ложность, немного похожее на выражения Javascript, но с некоторыми отличиями, вы можете прочитать здесь здесь . Если ваше условие слишком сложное, вы можете использовать функцию, которая возвращает правду или ложь, как это было в вашей третьей попытке.

Просто для дополнения: вы также можете использовать логические операторы для формирования логических выражений типа

ng-class="{'test': obj.value1 == 'someothervalue' || obj.value2 == 'somethingelse'}"
521
ответ дан Bema 28 August 2018 в 11:01
поделиться

Я покажу вам два метода, с помощью которых вы можете динамически применять ng-class

Step-1

Используя трехмерный оператор

<div ng-class="condition?'class1':'class2'"></div>

Выход

Если ваше условие истинно, тогда класс 1 будет применен к вашему элементу, будет применен класс2.

Недостаток

Когда вы попытаетесь изменить условное значение во время выполнения класс каким-то образом не изменится. Поэтому я предлагаю вам перейти на этап 2, если у вас есть требование, подобное динамическому изменению класса.

Step-2

<div ng-class="{value1:'class1', value2:'class2'}[condition]"></div>

Выход

, если ваше условие соответствует с value1, тогда класс 1 будет применен к вашему элементу, если совпадения со значением2, тогда будет применен класс2 и так далее. И динамическое изменение класса будет отлично работать с ним.

Надеюсь, это вам поможет.

30
ответ дан 2 revs 28 August 2018 в 11:01
поделиться

Я вижу большие примеры выше, но все они начинаются с фигурных скобок (json map). Другой вариант - вернуть результат, основанный на вычислении. Результатом может быть также список имен класса css (а не только карта). Пример:

ng-class="(status=='active') ? 'enabled' : 'disabled'"

или

ng-class="(status=='active') ? ['enabled'] : ['disabled', 'alik']"

Объяснение: Если статус активен, будет использоваться класс enabled. В противном случае будет использоваться класс disabled.

Список [] используется для использования нескольких классов (не только одного).

54
ответ дан AlikElzin-kilaka 28 August 2018 в 11:01
поделиться

Использование ng-класса внутри ng-repeat

<table>
    <tbody>
            <tr ng-repeat="task in todos"
                ng-class="{'warning': task.status == 'Hold' , 'success': task.status == 'Completed',
              'active': task.status == 'Started', 'danger': task.status == 'Pending' } ">
                <td>{{$index + 1}}</td>
                <td>{{task.name}}</td>
                <td>{{task.date|date:'yyyy-MM-dd'}}</td>
                <td>{{task.status}}</td>
            </tr>
    </tbody>
</table>

Для каждого состояния в task.status для строки используется другой класс.

196
ответ дан JakeGould 28 August 2018 в 11:01
поделиться

Угловая JS предоставляет эту функциональность в директиве ng-class . В котором вы можете поставить условие, а также назначить условный класс. Вы можете достичь этого двумя разными способами.

Тип 1

<div ng-class="{0:'one', 1:'two',2:'three'}[status]"></div>

В этом классе кода будет применяться в соответствии со значением значения состояния

, если состояние значение равно 0, тогда примените класс 1

, если значение состояния равно 1, затем примените класс 2

, если значение состояния равно 2, затем примените класс три


Тип 2

<div ng-class="{1:'test_yes', 0:'test_no'}[status]"></div>

В каком классе будет применяться значение статуса

, если значение состояния равно 1 или true, тогда он добавит класс test_yes

, если статус значение равно 0 или false, то он добавит класс test_no

90
ответ дан Kaushal Khamar 28 August 2018 в 11:01
поделиться

Существует простой метод, который можно использовать с атрибутом класса html и сокращением if / else. Не нужно делать это настолько сложным. Просто используйте следующий метод.

<div class="{{expression == true ? 'class_if_expression_true' : 'class_if_expression_false' }}">Your Content</div>

Happy Coding, Nimantha Perera

29
ответ дан Nimantha Harshana Perera 28 August 2018 в 11:01
поделиться

Для углового 2 используйте

<div [ngClass]="{'active': dashboardComponent.selected_menu == 'mapview'}">Content</div>
1
ответ дан Ninad Kulkarni 28 August 2018 в 11:01
поделиться

Использование функции с ng-классом - хороший вариант, когда кто-то должен запускать сложную логику, чтобы решить соответствующий класс CSS.

http://jsfiddle.net/ms403Ly8/2/

HTML:

<div ng-app>
  <div ng-controller="testCtrl">
        <div ng-class="getCSSClass()">Testing ng-class using function</div>       
    </div>
</div>

CSS:

.testclass { Background: lightBlue}

JavaScript:

function testCtrl($scope) {
    $scope.getCSSClass = function() {
     return "testclass ";
  }     
}
12
ответ дан Razan Paul 28 August 2018 в 11:01
поделиться

используйте это

<div ng-class="{states}[condition]"></div>

, например, если условие равно [2 == 2], состояния: {true: '...', false: '...'}

<div ng-class="{true: 'ClassA', false: 'ClassB'}[condition]"></div>
4
ответ дан Saeed 28 August 2018 в 11:01
поделиться

Угловой синтаксис заключается в том, чтобы использовать оператор: для выполнения эквивалента модификатора if

<div ng-class="{ 'clearfix' : (row % 2) == 0 }">

Добавить класс clearfix в четные строки. Тем не менее, выражение может быть любым, что мы можем иметь в нормальном условии if, и оно должно оцениваться как true, так и false.

27
ответ дан Tristan 28 August 2018 в 11:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: