这就是事情。 我在子组件中有一个按钮,当我单击按钮时它会发出一个事件。我想在安装父组件时触发它,我该怎么办?还是有另一种方法来达到目标? PS:该按钮由子组件中的v-for生成。
答案 0 :(得分:2)
您的子组件可能如下所示:
<template>
<div class="child">
<button @click="buttonClick">Button</button>
</div>
</template>
<script>
export default {
props: ['buttonId'],
methods:{
buttonClick() {
this.$emit('buttonClick', this.buttonId)
}
}
}
</script>
您的父组件:
<template>
<div class="parent">
<child v-for="i in 5" :buttonId="i"></child>
</div>
</template>
<script>
import Child from './Child.vue'
export default {
components: {
Child,
},
methods: {
onButtonClick(buttonId) {
console.log('Got a click event from button ', buttonId)
}
},
mounted() {
this.$children().forEach(function(child) {
child.buttonClick()
})
}
}
</script>