【发布时间】:2014-05-15 11:50:55
【问题描述】:
我以不同的形式发布了相同的问题,但没有人回答。我没有清楚地了解格式化程序和解析器在 Angular js 中的作用。
根据定义,格式化程序和解析器看起来都与我相似。也许我错了,因为我是这个 angularjs 的新手。
格式化程序定义
每当模型值发生变化时,作为管道执行的函数数组。 依次调用每个函数,将值传递给下一个函数。 用于格式化/转换值以在控件中显示和验证。
解析器定义
每当控件从 DOM 读取值时,作为管道执行的函数数组。 依次调用每个函数,将值传递给下一个函数。 用于清理/转换值以及验证。 对于验证,解析器应该使用 $setValidity() 更新有效性状态,并为无效值返回 undefined。
请通过一个简单的示例帮助我理解这两个功能。两者的简单说明将不胜感激。
【问题讨论】:
-
格式化程序修改模型的显示值,例如为电话号码显示
(123) 123-1234。解析器在每次数据更改时读取数据,通常用于设置输入的 $valid 状态。文档中有这两种情况的示例。