与elvis-operator绑定的双向方式

时间:2016-03-15 16:05:31

标签: angular angular2-forms

使用elvis-operator在Angular 2中使用双向绑定(syntax-sugar)的最佳方法是什么。我试过了

    <input [(ngModel)]="x?.y?.z"> 

但这不受支持。

有没有办法使用......像这样?

3 个答案:

答案 0 :(得分:14)

您可以像

一样拆分上下绑定
<input [ngModel]="x?.y?.z" (ngModelChange)="x?.y?.z ? x.y.z = $event : null"> 

答案 1 :(得分:1)

<input [ngModel]="x?.y?.z" (keyup)="changeMe($event.target.value)"> {{x?.y?.z}}

export class ParentCmp {
  x={y:{z:"a"}}
   changeMe(val)
    {
      console.log(val);
      this.x.y.z=val;
    }
}

http://plnkr.co/edit/ZBeSPqf4HUwLOeWSNfZJ?p=preview

答案 2 :(得分:1)

Angular 不支持双向绑定中的安全导航操作符。相反,您可以这样做:

<!-- <input [(ngModel)]="x?.y"> -->
<input [(ngModel)]="x && x.y"> 

(使用 Angular 9 测试)