1
我很困惑在ngModel控制器的解析器函數和格式化函數中返回什麼。Angular用解析器和格式化函數的返回值做什麼?
我知道當某個值無效時,您將在解析器函數中返回undefined
,否則返回有效值。但是wat是否會使用Angular做這個值?它是更新$modelValue
或$viewValue
,還是...?
我希望有人能向我解釋這一點。
我很困惑在ngModel控制器的解析器函數和格式化函數中返回什麼。Angular用解析器和格式化函數的返回值做什麼?
我知道當某個值無效時,您將在解析器函數中返回undefined
,否則返回有效值。但是wat是否會使用Angular做這個值?它是更新$modelValue
或$viewValue
,還是...?
我希望有人能向我解釋這一點。
將它傳遞給下一個解析器/格式化函數,如果沒有設置$ modelValue/$ viewValue。
NgModelController的行爲像這樣。
viewValue changes -> parsers -> modelValue -> if changed update model
modelValue changes -> formatters -> viewValue -> if changed calls $render
一般來說解析器和格式化無關與審定。但是,如果在解析器函數中返回undefined
,並且該字段爲required
,表單將無效。
查看this評論在舊文檔中的詳細解釋。
謝謝。是' - > parsers - > modelValue'(和viewValue是格式化程序)函數的返回值嗎? – Martijn
是的,每個解析器的返回值用於下一個解析器的值。最後一個分析器的返回值用作modelValue。對於格式化程序有相同的區別 - **格式化程序數組是從數組中的最後一項開始向後遍歷**。 –