2

我在单个父组件中添加了三次相同的子组件 在此处输入图像描述

下面是在其中一个子组件上调用的更改函数,以更改selectedName其他两个子组件@Input中的字符串类型,如果我将其更改为对象,它可以正常工作。

在此处输入图像描述

这就是子组件的样子 在此处输入图像描述

4

1 回答 1

1

您的问题似乎是价值参考类型之一。

它作为 Object 工作的原因是 Objects 是引用类型:当您将 Object 传递给组件时,您传递的是它的引用,而不是“副本”。这意味着当您更改该对象时(例如,在子对象中),任何引用该对象的组件都将“看到”更改。

对于类型,情况并非如此。当您将字符串、数字或布尔值传递给组件时,您传递的是与源变量完全取消链接的值

您不应该在其兄弟姐妹和/或父母所依赖的子组件中改变某些东西。您应该使用服务(带有突变方法)或 @Output 将更改事件从子级向上冒泡。

于 2022-01-05T16:29:00.143 回答