我向父组件发送一个事件。当您单击列表元素时,将使用 v-model 指令处理切换。此外,我需要有关是否选择列表元素以在父级中进行 v-if 渲染的信息。我在 child 中使用了 emit 以及方法和计算的 props。两者都给我留下了错误。我不知道如何解决这个问题。
-此外,我需要共享父组件在子组件之前呈现,尽管父组件依赖于来自子组件的事件。
- 我也在Error in v-on handler: "TypeError: _vm.updateKumas is not a function"
控制台上收到错误消息。
- 此图像还显示了到达父组件的事件:
这是代码
子组件
<template>
<v-card class="pa-2" height="225" width="150" flat>
<v-btn disabled block small>Kumaş Tipi</v-btn>
<v-list dense>
<v-list-item-group v-model="kumas" color="primary">
<v-list-item v-for="(item, i) in items" :key="i" class="my-list-class">
<v-list-item-content>
<v-list-item-title
v-text="item.text"
@click="changeKumas"
></v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list-item-group>
</v-list>
</v-card>
</template>
<script>
export default {
data: () => ({
kumas: null,
}),
props: ["items"],
methods: {
changeKumas() {
this.$emit("changeKumas", this.kumas);
},
},
};
</script>
父组件
<template>
<div>
<v-card>
<v-container>
<v-row>
<v-col cols="12">
<v-row
align="start"
justify="start"
style="height: 300px; width: 1200px"
>
<Kumas :items="items" @changeKumas="updateKumas($event)" />
</v-row>
</v-col>
</v-row>
</v-container>
</v-card>
</div>
</template>
<script>
import Kumas from "./ListingComponents/Kumas";
export default {
data: () => ({
kumas: null,
items: [
{ text: "İtem1", icon: "mdi-clock" },
{ text: "İtem2", icon: "mdi-account" },
{ text: "İtem3", icon: "mdi-flag" },
{ text: "İtem1", icon: "mdi-clock" },
{ text: "İtem2", icon: "mdi-account" },
{ text: "İtem3", icon: "mdi-flag" },
],
}),
methods: {
updateKumas(updatedKumas) {
console.log(` Kumas in step1 is ${updatedKumas}`);
this.kumas = updatedKumas;
console.log(` Kumas in step1 is ${this.kumas}`);
},
},
components: { Kumas },
};