Условие ngClass не работает в нескольких условиях - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь реализовать [ngClass] на основе различных условий, вот мой

condition
 [ngClass]="{'validator':lang.VideoURL!=null, 'labeltitle': lang.VideoURL==null}"

, но когда значение lang.VideoURL равно нулю, тогда labeltitle класс не применяется на странице и по умолчанию класс валидатора применяется, когда значение lang.VideoURL равно нулю

Ответы [ 4 ]

4 голосов
/ 09 мая 2019

Попробуйте:

[ngClass]="lang.VideoURL ? 'validator' : 'labeltitle'"
2 голосов
/ 09 мая 2019

Другой вариант - привязка свойств класса, показанная здесь https://angular.io/guide/template-syntax#binding-targets. Это полезно, если у вас есть несколько классов, которые могут быть действительными одновременно, но все они условны.

[class.validator]="lang.VideoURL" [class.labeltitle]="!lang.VideoURL"
1 голос
/ 09 мая 2019

это способ использования мультиусловия ngClass.

 [ngClass]="{'first-class': condition1,'second-class': condition2}"
1 голос
/ 09 мая 2019

@ porgo ответ также верен, но если у вас есть больше условий для проверки, вы можете попробовать вот так.

[ngClass]="[lang.VideoURL != null: 'validator', lang.VideoURL == null: 'labeltitle']"
...