在 AngularJs 中,值如何从真实视图值传播 --> $viewValue --> $modelValue --> 真实模型值,反之亦然?
In AngularJs, how value propagate from real view value --> $viewValue --> $modelValue --> real model value and vice versa?
我不知道怎么问这个问题。当我编写自定义指令时,这个问题总是让我感到困惑。为了更好地理解这个问题,我举个例子:
<input type="text" ng-model="name" />
在文本框中键入时,每次更改时,都会执行一个处理函数。此处理程序调用 ctrl.$setViewValue(value)
,其中 ctrl 是 ngModelController
,value
是实际值(我已在文本框中键入)。因此实际视图值传播到 $viewValue。直到这里所有概念都是 cleared.but 我不知道 $viewValue 如何传播到 $modelValue 和真实模型值,反之亦然。请为此推荐一些教程,或者请在这里分享您的知识:)
谢谢!!!
顾名思义,$modelValue
是 ngModel
指令绑定到的值 - 即模型。例如下面的name
:
<input ng-model="name">
$viewValue
是 DOM 中显示的值 - 即视图。
每个输入控件都有自己的含义。例如,对于 <input>
元素,$viewValue
是:
element.val()
但对于自定义输入控件,它可以是任何内容,无论您如何定义它。
ngModel
为 require: "ngModel"
转换和验证值的指令提供挂钩。此外,ngModelOptions
允许在可能的延迟
之后延迟将值提交给模型
model --> $formatters --> $validators --> view
view --> (debounce delay) --> $parsers --> $validators --> model
我不知道怎么问这个问题。当我编写自定义指令时,这个问题总是让我感到困惑。为了更好地理解这个问题,我举个例子:
<input type="text" ng-model="name" />
在文本框中键入时,每次更改时,都会执行一个处理函数。此处理程序调用 ctrl.$setViewValue(value)
,其中 ctrl 是 ngModelController
,value
是实际值(我已在文本框中键入)。因此实际视图值传播到 $viewValue。直到这里所有概念都是 cleared.but 我不知道 $viewValue 如何传播到 $modelValue 和真实模型值,反之亦然。请为此推荐一些教程,或者请在这里分享您的知识:)
谢谢!!!
顾名思义,$modelValue
是 ngModel
指令绑定到的值 - 即模型。例如下面的name
:
<input ng-model="name">
$viewValue
是 DOM 中显示的值 - 即视图。
每个输入控件都有自己的含义。例如,对于 <input>
元素,$viewValue
是:
element.val()
但对于自定义输入控件,它可以是任何内容,无论您如何定义它。
ngModel
为 require: "ngModel"
转换和验证值的指令提供挂钩。此外,ngModelOptions
允许在可能的延迟
model --> $formatters --> $validators --> view
view --> (debounce delay) --> $parsers --> $validators --> model