on和emit的事件必须是在一个公共的实例上,才能触发。

我的解决方案是:

  1. 新建bus.js

    import Vue from 'vue'
    
    export var bus = new Vue()
  2. App.vue里created方法里定义事件

    import { bus } from 'bus.js'
    // ...
    created () {
      bus.$on('tip', (text) => {
        alert(text)
      })
    }
  3. Test.vue组件内调用

    import { bus } from 'bus.js'
     // ...
    bus.$emit('tip', '123')
Logo

前往低代码交流专区

更多推荐