使用 Vue 中的单击事件(数据)将数据从子组件传递到父组件
Pass data from child to parent component with click event(data) in Vue
我需要将数据(一个 slug)从 @click 按钮传递到带有 $emit 事件的函数,然后在父组件中接收它并作为道具嵌入到另一个组件中,以加载一个简单的对象。
这是我的方法,但是没有用
<-- 子组件 (Conversaciones.vue) -->
<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>
检查你的 slugs
属性,它是一个对象而不是数组,所以你不能使用 this.slugs.push
。将其更改为 slugs: []
我需要将数据(一个 slug)从 @click 按钮传递到带有 $emit 事件的函数,然后在父组件中接收它并作为道具嵌入到另一个组件中,以加载一个简单的对象。
这是我的方法,但是没有用
<-- 子组件 (Conversaciones.vue) -->
<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>
检查你的 slugs
属性,它是一个对象而不是数组,所以你不能使用 this.slugs.push
。将其更改为 slugs: []