事实证明,有一个非常优雅的解决方案,但是没有充分记录。
格式化显示的模型值可以由
|操作员和有角度的人来处理
formatter。事实证明,ngModel不仅具有格式器列表,而且具有解析器列表。
1.
ng-model用于创建双向数据绑定
<input type="text" ng-model="foo.bar"></input>
2.在角度模块中创建一个指令,该指令将应用于同一元素,并取决于
ngModel控制器
module.directive('lowercase', function() { return { restrict: 'A', require: 'ngModel', link: function(scope, element, attr, ngModel) { ... } };});3.在
link方法中,将自定义转换器添加到
ngModel控制器
function fromUser(text) { return (text || '').toUpperCase();}function toUser(text) { return (text || '').toLowerCase();}ngModel.$parsers.push(fromUser);ngModel.$formatters.push(toUser);4.将新指令添加到已经具有
ngModel
<input type="text" lowercase ng-model="foo.bar"></input>
模型控制器 的 API文档 还提供了简要说明和其他可用方法的概述。



