Vue.js 使用Vue中的单击事件(数据)将数据从子组件传递到父组件
我需要将数据(一个slug)从@click按钮传递到一个带有$emit事件的函数,然后在父组件中接收它并作为道具嵌入另一个组件中,以加载一个简单对象 这是我的方法,但不起作用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转换
{{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>