Angular 2支持单向数据流,一次一种方式。双向数据绑定[(ngModel)]如何在Angular2中起作用?
答案 0 :(得分:3)
Angular2将[(ngModel)] = myName
理解为property + event
绑定,并将其作为折叠版本,
[ngModel] = 'myName'
和(ngModelChange) = 'updateMyNameValue(myName)'
他们的unidirectional data flow
策略可能会采用它的扩展版本,例如当值更改时由inputs
事件显式设置范围变量,反之亦然,因此这个语法糖它的版本可能看起来几乎像
myName = '';
function updateMyNameValue(elem) {
// find scope variable of `myName` and update it
// find element in view and update it
}
// <input type="text" onchange="updateMyNameValue(this)" value="" />
根据docs,
[(ngModel)]
是更一般模式的具体示例 Angular&#34; de-sugars&#34;将[(x)]
语法转换为x
输入属性 属性绑定和事件绑定的xChange
输出属性。 Angular构造了事件属性绑定的模板语句 将=$event
附加到模板表达式的文字字符串。[(x)]="e" <==> [x]="e" (xChange)="e=$event"