AngularJS |条件 Class 使用 ng-class

AngularJS | Conditional Class using ng-class

我想对页面上的元素应用条件 class。

目前它正在使用以下代码:

ng-class="{ 'vfnz-form--error' : loginForm.username.$invalid  }

如果输入字段无效,这将应用无效的 class。我想在用户输入字段有效时应用“valid” class。

是否可以在同一行代码中实现?

这是一个 fiddle 示例:JSFIDDLE

您可以通过多种方式来实现,一种简单的方法是使用带有括号表示法的对象。

示例:-

ng-class="{ true: 'vfnz-form--error', false : 'vfnz-form--good'  }[loginForm.username.$invalid]"

或者(因为它不能既无效又有效):-

ng-class="{'vfnz-form--error' : loginForm.username.$invalid, 'vfnz-form--good' : loginForm.username.$valid}"

如果你只想在表单变脏时才这样做,你可以添加条件来检查 $pristine/$dirty,但你也可以使用 class angular 添加输入(以及表单上的)即 ng-pristine/ng-dirty 因此您可以使用这些 class 名称定义规则以使其更具体。

例如:-

.vfnz-form--error .ng-dirty.something{/*apply bad rules*/}