作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在表单中编写了以下代码:
<td><input type="text" ng-model="row.title" /></td>
<input type="text" ng-model="row.title" class="ng-pristine ng-valid">
最佳答案
有两种好方法可以解决这个问题:
1. 使用 Angular 放置在元素上的内置 ng-dirty
类。
当您更改由 Angular 管理的输入时,它会为各种状态的输入添加一些 CSS 类。这些包括:
ng-pristine
- 输入没有被修改 ng-dirty
- 输入已被修改 .ng-dirty
类,那么您就可以开始了。
form
标志的 $dirty
指令。
form
元素时,Angular 会在作用域上分配一个与表单上的
FormController
属性同名的
name
instance;表单中的每个输入都作为一个属性附加到该 FormController 实例上,同样与输入上的
name
属性同名。例如,
<form name="myForm">
<input type="text" name="myInput">
</form>
$scope.myForm.myInput
$pristine
和
$dirty
;这些就像上面列出的 CSS 类一样工作。因此,您可以检查输入上的
$dirty
标志并使用
ng-class
有条件地将类应用于元素。一个例子:
<div ng-controller="MainController">
<form name="myForm">
<input name="myInput" ng-model="model" ng-maxlength="3"
ng-class="{changed: myForm.myInput.$dirty}">
</form>
</div>
关于angularjs - 如果使用 AngularJS 更改了输入,如何向输入添加类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17648114/
我是一名优秀的程序员,十分优秀!