Angularjs Angular如何处理解析器和格式化程序函数的返回值?

Angularjs Angular如何处理解析器和格式化程序函数的返回值?,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我非常困惑在ngModel控制器上的解析器函数和格式化程序函数中返回什么 我知道当一个值无效时,在解析器函数中返回undefined,否则返回有效值。但是角度和这个值有什么关系呢?它是在更新$modelValue还是$viewValue,还是 我希望有人能给我解释一下。将其传递给下一个解析器/格式化程序函数,如果没有,则设置$modelValue/$viewValue NgModelController的行为如下所示 视图值更改->解析器->模型值->如果更改,则更新模型 modelValue更

我非常困惑在ngModel控制器上的解析器函数和格式化程序函数中返回什么

我知道当一个值无效时,在解析器函数中返回
undefined
,否则返回有效值。但是角度和这个值有什么关系呢?它是在更新
$modelValue
还是
$viewValue
,还是


我希望有人能给我解释一下。

将其传递给下一个解析器/格式化程序函数,如果没有,则设置$modelValue/$viewValue

NgModelController的行为如下所示

视图值更改->解析器->模型值->如果更改,则更新模型

modelValue更改->格式化程序->viewValue->if changed调用$render

一般来说,解析器和格式化程序与验证无关。但是如果在解析器函数中返回
undefined
,并且字段是
required
,则表单将无效


有关详细说明,请查看旧文档中的注释。

谢谢。
->parsers->modelValue
(以及格式化程序的viewValue)是函数的返回值吗?是的,每个解析器的返回值用于下一个解析器的值。最后一个解析器的返回值用作modelValue。格式化程序也是如此,但有一个很大的区别——格式化程序数组从数组中的最后一项开始向后遍历。