最好的使用方式是:@ViewChild或@Output

时间:2019-05-13 13:10:45

标签: angular typescript

我想在两个直接相关的组件(父-child)之间共享数据。 我遇到了@ViewChild和@Output。第一个将在父组件中具有更多的控制和编码,而后来需要在子组件中进行编码。

我们应该选择哪个呢?

2 个答案:

答案 0 :(得分:0)

@ViewChild和@Output是非常不同的两件事,因此这完全取决于您要执行的操作。

@ViewChild授予父级对子级(组件或元素)的访问权限,而@Output会在子级中的某些内容发生更改时向父级发出事件。

如果您可以使用其中任何一个做您想做的事,那么我会选择@Output,因为它不将父母和孩子耦合在一起,它只是在它们之间提供了交流渠道。

答案 1 :(得分:0)

我认为您正在寻找@Input和@Output。

使用@Input,您可以将数据从父组件发送到子组件。

通过@Output,您可以将子组件的数据作为事件发送到其父组件。