Vue.js 使用Vue中的单击事件(数据)将数据从子组件传递到父组件

Vue.js 使用Vue中的单击事件(数据)将数据从子组件传递到父组件,vue.js,vue-component,parent-child,emit,Vue.js,Vue Component,Parent Child,Emit,我需要将数据(一个slug)从@click按钮传递到一个带有$emit事件的函数,然后在父组件中接收它并作为道具嵌入另一个组件中,以加载一个简单对象 这是我的方法,但不起作用 {{conversacion.contenido} 方法:{ SlugHijoPadre(Slugdata){ 此.$emit(“enviar conversacion”{ slug:Slugdata })}} 组成部分:{ 交谈者, 交谈 }, 数据(){ 返回{ 蛞蝓:{} }; }, 方法:{ slug转换

我需要将数据(一个slug)从@click按钮传递到一个带有$emit事件的函数,然后在父组件中接收它并作为道具嵌入另一个组件中,以加载一个简单对象

这是我的方法,但不起作用


{{conversacion.contenido}
方法:{
SlugHijoPadre(Slugdata){
此.$emit(“enviar conversacion”{
slug:Slugdata
})}}


组成部分:{
交谈者,
交谈
},
数据(){
返回{
蛞蝓:{}
};
},
方法:{
slug转换(slug){
这个。slug。推(slug);
控制台日志(slug);
}
},
//最后传递一个属性来调用另一个组件的特定对象:

检查你的
slugs
属性,它是一个对象而不是数组,因此你不能使用
这个.slugs.push
。将其更改为
slugs:[]

我刚刚更改为这个,并修改这个“Conversacion v-for=“object in slugs”:key=“object.slug”:slug=“object.slug”>”在对象中迭代并向api传递一个slug。而且有效!谢谢
  <template v-slot:title>
     <q-btn @click="SlugHijoPadre(conversacion.slug)">
     {{ conversacion.contenido }}
     </q-btn>
  </template>

  methods:{ 
    SlugHijoPadre(Slugdata) {
       this.$emit("enviar-conversacion", {
       slug: Slugdata 
  })}}
  <Conversaciones @enviar-conversacion="slugConversacion"/>

  components: {
    Conversaciones,
    Conversacion
  },

  data() {
    return {
      slugs: {}
    };
  },

  methods: {

    slugConversacion(slug){
      this.slugs.push (slug);
      console.log(slug);
    }
  },

//And finally pass a property to call an especific object of another component:

  <Conversacion :slug="slugs"></Conversacion>