Как использовать [ngClass] для нескольких условий класса Angular4
в настоящее время мой div выглядит так:
теперь 9X_angular2 я хочу иметь другое условие ...
Итак, теперь 9X_html-comments я хочу, чтобы этот div был класса a Если 9X_html-comments что-то class-b Если что-то еще class-c
как 9X_nested-divs мне это сделать?
Я использую angular 4.
спасибо!
3
M
Mikrovolnovec
Ответ #1
Ответ на вопрос: Как использовать [ngClass] для нескольких условий класса Angular4
Добавьте его как свойства в литерал объекта:
[ngClass]="{'class-b': !person.something, 'other-condition': isOther }"
9X_html-comments
Ответ #2
Ответ на вопрос: Как использовать [ngClass] для нескольких условий класса Angular4
Другой вариант - вернуть строку из компонента, если 9X_html вы считаете, что вам нужна более сложная 9X_divs логика или знаете, что будет только одна. Это 9X_angular4.x может быть более проверено.
Какая бы строка 9X_angularjs2 вы ни вернули, она будет отображена как 9X_divs класс (классы)
[ngClass]="renderClass()"
renderClass() {
switch(this.user.theme){
case "dark":
return "dark-theme"
case "light":
return "light-theme"
}
}
Ответ #3
Ответ на вопрос: Как использовать [ngClass] для нескольких условий класса Angular4
Этот синтаксис лучше использовать ngStyle
Потому 9X_html что,
это не завершенный ответ.
Если вы хотите 9X_span переключить некоторые классы, например text-info
или 9X_angular text-danger
для тега (
some exp ? 'text-info' : 'text-danger'
).
Лучший ответ - массив, а не 9X_angular объект.
[ngClass] = "[some exp ? 'text-info' : 'text-danger', ...]"
Удачи
-
8
-
9
-
1
-
5
-
3
-
10
-
9
-
13
-
13
-
3
-
3
-
1
-
8
-
4
-
4
-
1
-
7
-
2
-
3
-
2
-
1
-
4
-
2
-
3
-
1
-
7
-
1
-
3
-
2
-
6
-
2
-
2
-
16
-
3
-
4
-
1
-
5
-
2
-
3
-
3
-
3
-
1
-
10
-
12
-
6
-
2
-
5
-
1
-
4
-
3