Tengo 3 componentes vue, el Componente A usa un detector de eventos para recopilar los datos del texto HTML en el que un usuario hace clic y los almacena en una variable. El componente B tomará los datos y hará una llamada a la API para mostrarlos en una tabla. El Componente C usa el Componente A para representar un diagrama y el Componente C usará el Componente B para representar una tabla debajo del diagrama.
Componente A:
mounted() { window.addEventListener('node_clicked', (e) => {this.nodeName = e.detail.name}) }, data() { return { nodeName: '' };Pregunta:
¿Cómo puedo pasar mis datos del Componente A al Componente B para realizar una llamada API para la tabla que representará en el Componente C?
Pasar datos de un componente (A) a OTRO COMPONENTE (B), dependerá de dónde use el componente B.
Si el componente B es un componente secundario directo del componente A.
Puede pasar datos fácilmente por props .
Si el componente B es un componente secundario profundo del componente A.
Puedes usar inject/provide
Si el componente B es padre del componente A.
Puedes emit an event
Si el componente A y el componente B se utilizan en diferentes lugares de la base de código.
Puede crear su propia state management store o puede usar una biblioteca como Vuex