[(ngModel)]如何在Angular 2中使用单向数据流

时间:2016-09-30 01:02:57

标签: angular 2-way-object-databinding

Angular 2支持单向数据流,一次一种方式。双向数据绑定[(ngModel)]如何在Angular2中起作用?

1 个答案:

答案 0 :(得分:3)

Angular2将[(ngModel)] = myName理解为property + event绑定,并将其作为折叠版本,

  1. [ngModel] = 'myName'
  2. (ngModelChange) = 'updateMyNameValue(myName)'
  3. 他们的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"