Angular 角度数组动态绑定绑定到所有元素,而不是1

Angular 角度数组动态绑定绑定到所有元素,而不是1,angular,typescript,Angular,Typescript,我有一个数组对象,如下所示 let myArray=[ { "id":"100", "child1":[ {"id":"xx","Array":[]}, {"id":"yy","Array":[]}, {"id":"zz","Array":[]} ] }, { "id":"200", "child1":[ {"id":"xx","Array":[]}, {"id":"yy","Array":[]}, {"id":"zz

我有一个数组对象,如下所示

let myArray=[
 { "id":"100",
  "child1":[
    {"id":"xx","Array":[]},
    {"id":"yy","Array":[]},
      {"id":"zz","Array":[]}
    ]
 },
 {  "id":"200",
  "child1":[
   {"id":"xx","Array":[]},
    {"id":"yy","Array":[]},
      {"id":"zz","Array":[]}
    ]
 }
  ]
我有像贝娄一样的棱角模板

<div *ngFor="let obj of myArray">
    Id:{{obj.id}}
 <div *ngFor="let objChild of obj.Child1">
    Id:{{objChild.id}}
    Array:{{objChild.Array}}    
    AddElementtoArray:<button (click)="add(objChild.Array)">add</button>    
   </div>
 </div>

如果单击id 1的add按钮,则id 1和2的子数组的值都会被添加,我尝试了其他的可能性,比如获取索引并在代码中过滤它,尝试为特定的对象子数组添加值,但它会同时为对象1和2添加值,请告诉我如何修复此问题,通过发送父级和子级索引来尝试此操作,这将帮助您获取特定元素

<div *ngFor="let obj of myArray; let parentIdx = index;">
   Id:{{obj.id}}
 <div *ngFor="let objChild of obj.Child1; let childIdx = index;">
   Id:{{objChild.id}}
   Array:{{objChild.Array}}    
   AddElementtoArray:<button (click)="add(parentIdx, childIdx 
   )">add</button>    
 </div>
</div>

嗨,谢谢你的重播,我也试过了,但它仍然绑定到所有的Array对象。我使用了另一个角度变量来生成子对象,我没有进行深度复制,这就是问题所在
<div *ngFor="let obj of myArray; let parentIdx = index;">
   Id:{{obj.id}}
 <div *ngFor="let objChild of obj.Child1; let childIdx = index;">
   Id:{{objChild.id}}
   Array:{{objChild.Array}}    
   AddElementtoArray:<button (click)="add(parentIdx, childIdx 
   )">add</button>    
 </div>
</div>
add(parentidx, childidx) {
  this.myArray[parentidx].Child1[childidx].Array.push('xxx');
}