2015-04-22 4 views
1

У меня есть следующий на угловой модели области видимости контроллера:Добавить класс CSS, используя угловые

$scope.model = { 
    subscriber: { email: '', name: '' }, 
    notice: { text: '', type: '' } 
} 

Мне нужно, чтобы отобразить P тег, когда notice.text не является пустым и добавить класс CSS, равный notice.type. Таким образом, у меня есть:

<p class="notice" data-ng-bind="model.notice.text" data-ng-if="model.notice.text != ''"></p> 

Тэг P всегда имеет класс «уведомление». Но мне нужно добавить класс, содержащийся в $ scope.model.type, если он определен.

Как это сделать?

Вопрос на стороне: Есть ли лучший способ показать/скрыть тег P вместо использования данных-ng-if?

+1

Вы могли бы рассмотреть 'нг-show' вместо' нг-if', но не забудьте прочитать о разнице http://stackoverflow.com/questions/21869283/when-to-favor-ng-if-vs-ng-show-ng-hide –

ответ

2

Вы можете использовать директиву ngClass

директива ngClass позволяет динамически устанавливать классы CSS на HTML-элемента с помощью привязки данных выражение, представляющее собой все классы, которые будут добавлены.

Код

ng-class="model.notice.text != '' ? model.notice.type : ''" 
+0

Я рассматривал это ... так что я могу иметь class = "notice" и для типа использовать ng-class? Мне трудно, мне нужен ng-класс для обоих, так что это была моя проблема ... –

+2

@Miguel, вы правы – Satpal

Смежные вопросы