vue 子页面怎么向父页面传一个methods方法

子页面

<template>
</template>
<script>
methods:{
  testA(){}
}
</script>

父页面

<template>
</template>
<script>
methods:{
  testB(){}
}
</script>

想请教各位代码怎么写

https://blog.csdn.net/qq_37284843/article/details/123227189

父子之间调用方法比较简单,这里简单说下,比如子要调用父组件的方法,使用 this.$parent.xxx() 即可。
而如果你需要的是非父子组件间的调用,有两个思路,第一个是消息订阅与发布,第二个是全局事件总线。他们俩的作用都是可以任意组件间通信,我粗略讲解一下全局事件总线的用法,假设B要调用A的testA方法,做法如下:
1、在 main.js 中注册 $bus

new Vue({
  ...  
  beforeCreated() {
      Vue.prototype.$bus = this  // 安装全局事件总线
  }
  ...
})

2、在A组件的中写如下语句

methods() {
    testA(参数) {...}
},
mounted() {
    this.$bus.$on('testB', this.testA)
}

3、在B组件需要调用 testA 的地方,写如下语句
this.$emit('testB', 参数)

备注:当然如果你只是想在多个地方用同个方法,就把方法提取到公共文件中,通过在 main.js 中全局引入,就能在各个地方都使用该函数方法了

只能在父窗口与子窗口之间互相调用,使用$emit关键字调用父窗口的方法。

A\B没有嵌套关系的话 很难 。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632