我想从父组件中调用子组件方法。在下面的示例中,我有一个子组件和一个父组件。单击父组件中的按钮时,我想为每个项目调用doSomething
方法。我可以通过其他方式进行通信,例如从子组件中发出。但是我不知道如何调用/触发子组件。
父组件:
<template>
<div>
<p v-for="(item, index) in myItems" :key="index" :item="item"></p>
<button @click="traverseAllChild">traverse trough all items</button>
</div>
</template>
<script>
import ChildComponent from './ChildComponent'
export default {
name: 'ParentComponent',
components: {ChildComponent},
data() {
return {
myItems: ["A", "B", "C", "D"]
}
},
methods: {
traverseAllChild () {
// call next.doSomething() for next in all child components
}
}
}
</script>
子组件:
<template>
<div>
<p>{{item}}</p>
</div>
</template>
<script>
export default {
name: 'ChildComponent',
props: ['item'],
methods: {
doSomething () {
console.log("doing something")
}
}
}
</script>