我想在两个直接相关的组件(父-child)之间共享数据。 我遇到了@ViewChild和@Output。第一个将在父组件中具有更多的控制和编码,而后来需要在子组件中进行编码。
我们应该选择哪个呢?
答案 0 :(得分:0)
@ViewChild和@Output是非常不同的两件事,因此这完全取决于您要执行的操作。
@ViewChild授予父级对子级(组件或元素)的访问权限,而@Output会在子级中的某些内容发生更改时向父级发出事件。
如果您可以使用其中任何一个做您想做的事,那么我会选择@Output,因为它不将父母和孩子耦合在一起,它只是在它们之间提供了交流渠道。
答案 1 :(得分:0)
我认为您正在寻找@Input和@Output。
使用@Input,您可以将数据从父组件发送到子组件。
通过@Output,您可以将子组件的数据作为事件发送到其父组件。