ngModelController的方法和属性的使用
2015-02-06 12:27
471 查看
ngModelController方法
$render();当视图需要更新的时候会被调用。使用ng-model的指令应该自行实现这个方法。
$isEmpty(value);
该方法用于判断输入值是否为空。
例如,使用ngModelController的指令需要判断其中是否有输入值的时候会使用该方法。该方法可用来判断值是否为undefined,'',null或者NaN。
你可以根据自己的需要重载该方法。
$setValidity(validationErrorKey, isValid);
该方法用于改变验证状态,以及在控制变化的验证标准时通知表格。
这个方法应该由一个验证器来调用。例如,一个解析器或者格式化函数。
$setPristine();
该方法用于设置控制到原始状态。
该方法可以移除'ng-dirty'类并将控制恢复到原始状态('ng-pristine'类)。
$cancelUpdate();
该方法用于取消一次更新并重置输入元素的值以防止$viewCalue发生更新,它会由一个pending debounced事件引发或者是因为input输入框要等待一些未来的事件。
如果你有一个使用了ng-model-options指令的输入框,并为它设置了debounced事件或者是类似于blur的事件,那么你可能会碰到在某一段时间内输入框中值和ngModel的$viewValue属性没有保持同步的情况。
在这种情况下,如果你试着在debounced/future事件发生之前更新ngModel的$modelValue,你很有可能遇到困难,因为AngularJS的dirty cheching机制实际上并不会分辨一个模型究竟有没有发生变化。
$cancelUpdate()方法应该在改变一个输入框的model之前被调用。记住,这很重要因为这能够确保输入字段能够被新的model值更新,而pending操作将会被取消。
ngModelController中的属性
$viewValue视图中的实际值
$modelValue
model中的值,它金额控制器绑定在一起
$parsers
将要执行的函数的数组,无论什么时候控制器从DOM中读取了一个值,它都将作为一个管道。其中的函数依次被调用,并将结果传递给下一个。最后出来的值将会被传递到model中。其中将包括验证和转换值的过程。对于验证步骤,这个解析器将会使用$setValidity方法,对于不合格的值将返回undefined。
$formatters
一个包含即将执行函数的数组,无论什么时候model的值发生了变化,它都会作为一个管道。其中的每一个函数都被依次调用,并将结果传递给下一个函数。该函数用于将模型传递给视图的值进行格式化。
$viewChangeListeners
只要视图的值发生变化,其中的函数就会被执行。其中的函数执行并不带参数,它的返回值也会被忽略。它可以被用在额外的#watches中。
$error
一个包含所有error的对象
$pristine
如果用户还没有进行过交互,值是true。
$dirty
如果用户已经进行过交互,值是true。
$valid
如果没有错误,值是true。
$invalid
如果有错误,值是true。
相关文章推荐
- 理解 NgModelController 中相关方法和属性
- angular指令中使用ngModelController
- jquery 中$.post获取MVC Controller中JsonResult返回包含LIst<Model>类型的子List<Model>的高级使用方法
- jquery 中$.post获取MVC Controller中JsonResult返回包含LIst<Model>类型的子List<Model>的高级使用方法
- AngularJS使用 ng-disabled 属性与ng-model搭配,实现禁用button效果
- FMDB封装,用OC方法存储model,不用写SQL语句。使用runtime获取对象属性
- 使用Controller.UpdateModel方法来更新ViewModel
- UITabBarController的简单使用和属性方法总结
- spr 4000 ingmvc 属性放数据库中解决方法 以及 @Controller 中 使用@vlaue无法注入属性值问题详解
- ionic 自定义指令无法获取绑定值,ngModelController.$viewValue无法使用
- 在自定义指令中使用NgModelController(Using NgModelController with Custom Directives)
- AngularJS实践之使用NgModelController进行数据绑定
- 利用ngModel相关属性及方法自定义表单验证指令
- 使用jQuery异步传递含复杂属性及集合属性的Model到控制器方法
- 使用Controller.UpdateModel方法来更新ViewModel
- 在Angular指令中使用NgModelController做数据绑定
- C#中综合使用字段,属性和方法的实例
- Window.Open属性及方法使用详解
- Struts的ActionForm中不同类型属性的使用方法总结
- 如何使用Javascript调用.NET 2.0用户控件中的方法和属性