2023-06-14 记录一下vue组件如何调用App.vue里面的方法(代码来至chatGpt)

发布时间 2023-06-14 14:27:52作者: 哎呦你可棒棒了

可以通过在子组件中使用 $emit 方法来触发 App.vue 中的方法。具体步骤如下:

  1. 在 App.vue 中定义一个方法
<script>
export default {
  methods: {
    appMethod() {
      console.log('调用了 App.vue 中的方法')
    }
  }
}
</script>
  1. 在子组件中使用 $emit 方法触发该方法
<script>
export default {
  methods: {
    callAppMethod() {
      this.$emit('app-method')
    }
  }
}
</script>
  1. 在父组件中监听该事件,并调用相应的方法
<template>
  <div>
    <child-component @app-method="appMethod"></child-component>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue'

export default {
  components: { ChildComponent },
  methods: {
    appMethod() {
      console.log('父组件调用了 App.vue 中的方法')
    }
  }
}
</script>

这样,当子组件中调用 callAppMethod 方法时,就会触发 app-method 事件,然后在父组件中监听该事件并调用 appMethod 方法,从而实现调用 App.vue 中的方法。