从父vue组件调用子组件方法

时间:2019-05-05 12:48:19

标签: javascript vue.js

我想从父组件中调用子组件方法。在下面的示例中,我有一个子组件和一个父组件。单击父组件中的按钮时,我想为每个项目调用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>

0 个答案:

没有答案
相关问题