bodyHealthy 2022-07-07 20:29 采纳率: 80%
浏览 103
已结题

关于Vue利用ref方式实现父子组件间通信,用$on绑定事件时遇到this.refs.school.$on不是函数的问题!


<template>
  <div>
    <!-- 给 test组件实例对象绑定一个自定义事件,事件名称叫guigu,调用函数testFunction() -->
    <test @guigu="testFunction()"></test>
    <!-- 自定义事件的另一种书写方式 -->
    <test_copy ref="school"></test_copy>
  </div>
</template>

<script>
import test from './components/Test.vue';
import test_copy from './components/Test_copy.vue';

export default {
  name: 'App',
  components: {test,test_copy},
  methods:{
    testFunction(){
      console.log("APP中的testFunction()函数被调用了")
    },
    mytip(){
      alert("haha事件被触发了")
    }
  },
  mounted(){
    this.$refs.school.$on('haha',this.mytip)
  }
}
</script>

<style>

</style>

img

想利用 ref 的方式来实现子组件与父组件之间的通信,用$on()绑定事件时,显示this.refs.school.$on不是一个函数,红色波浪线在$on下方,这种情况是什么问题?该如何解决?

  • 写回答

3条回答 默认 最新

  • 前端不释卷leo 前端领域新星创作者 2022-07-07 22:23
    关注

    首先,你应该把this.$ref.school这一整个实例打印出来,看下里面都有些什么属性跟方法,然后再往下进行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 永夜君主 2022-07-08 00:23
    关注

    ervent.$on会有,this.$refs.school.$on不会有,前面一个event是vue实例所以有$on,而this.$refs.school子组件里面你没有定义$on

    评论
  • 关注

    首先你要子组件中定义的有$on这个事件才会有

    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月19日
  • 已采纳回答 7月11日
  • 创建了问题 7月7日

悬赏问题

  • ¥15 activity升级到flowable工作流act_ge_bytearray的草稿json数据复制到act_de_model 的model_editor_json的脚本
  • ¥15 cvi使用CreateThread创建线程时,出现存储空间不足无法处理此命令的错误
  • ¥15 求苹果推信imessage批量推信技术
  • ¥15 ubuntu 22.04 系统盘空间不足。隐藏的docker空间占用?(相关搜索:移动硬盘|管理系统)
  • ¥15 c++ word自动化,为什么可用接口是空的?
  • ¥15 Matlab计算100000*100000的矩阵运算问题:
  • ¥50 VB6.0如何识别粘连的不规则的数字图片验证码
  • ¥16 需要完整的这份订单所有的代码,可以加钱
  • ¥30 写一个带界面控制的机房电脑一键开机关机并且实时监控的软件
  • ¥15 Stata数据分析请教