Angular 嵌套模型-角度2

Angular 嵌套模型-角度2,angular,Angular,我有一个场景,人们可以有多个地址。在下拉列表中显示地址类型,当选择地址类型时,文本区域显示完整地址 <div *ngFor="let person of persons"> <select [ngModel]="selectedAddress" (ngModelChange)="selectedAddress = $event"> <option *ngFor="let address of person.addresses" [ngValue]="

我有一个场景,人们可以有多个地址。在下拉列表中显示地址类型,当选择地址类型时,文本区域显示完整地址

<div *ngFor="let person of persons">

  <select [ngModel]="selectedAddress" (ngModelChange)="selectedAddress = $event">
     <option *ngFor="let address of person.addresses" [ngValue]="address">
         {{address.type}}
     </option>
  </select>

   <textarea [(ngModel)]="selectedAddress.address"></textarea>

</div>

{{address.type}
每个人都显示在每个div块中。选择一个块上的下拉值时,也会填充其他块中的文本区域


选择一个块上的下拉菜单时,应仅填充块内的文本区域。如何处理这种情况

您必须使用选定地址的数组来处理它。这与此类似-其中
selectedAddress
是一个数组:

<div *ngFor="let person of persons; let i = index">
  <select [ngModel]="selectedAddress[i]" (ngModelChange)="selectedAddress[i] = $event">
    <option *ngFor="let address of person.addresses" [ngValue]="address">
        {{address.type}}
    </option>
  </select>
  <textarea [(ngModel)]="selectedAddress[i].address"></textarea>
</div>

{{address.type}

Pujol Ferriol-我在尝试实施您的建议时就明白了这一点。错误类型错误:无法读取null的属性“0”。是否缺少任何类型的空检查。您必须在component.ts中启动selectAddress数组。例如:private selectedAddress=[]是否可以处理二维数组场景。例如,如果我的对象是model selectedAddress=[]的话,我的下一个问题就在这里