Arrays 角度8-通过参考输入
我不理解这种情况。 我有一个将动物数组传递给子组件的父组件Arrays 角度8-通过参考输入,arrays,angular,input,reference,Arrays,Angular,Input,Reference,我不理解这种情况。 我有一个将动物数组传递给子组件的父组件 this.animals=[]; 家长: export class Parent { animals: Animal[]=[{},{}]; } <app-child [animals]="animals"></app-child> 我知道它是通过引用传递的。当我尝试清除子组件中的动物数组时 this.animals=[]; 然后父组件中的数组不会更改(它不是空的)。有人能给我解释一下原因吗?你如何检查
this.animals=[];
家长:
export class Parent {
animals: Animal[]=[{},{}];
}
<app-child [animals]="animals"></app-child>
我知道它是通过引用传递的。当我尝试清除子组件中的动物数组时
this.animals=[];
然后父组件中的数组不会更改(它不是空的)。有人能给我解释一下原因吗?你如何检查它没有出现在parents数组中?它适合我@hoo982什么是
动物。添加?你应该用推的。@yurzui我错了。你是对的。它起作用了。我的目标是从子组件中清除此数组。为此,我使用了this.animals=[]
。在这种情况下,父数组保持不变。你知道为什么吗?我原以为情况和帖子里描述的一样,但显然不是这样。很抱歉。那是因为您正在重写引用,而不是对其进行变异。您可以使用this.anists.length=0