Vue一个组件调用另一个组件的方法

这种方法不常用,项目中有个地方共享数据了,起初没用vuex做,后来有个地方不好解决,这两个组件没有什么关系

1.首先同一个vue实例来调用两个方法。所以可以建立一个中转站。

建立 util.js 中转站文件(任/assets/js/util.js)

import Vue from 'vue'
export default new Vue

2.分别在两个页面引入该文件(注意路径)

import Utils from '../../assets/js/util.js';

3.调用方代码(第二个参数是传递的参数)

methods: {
    functionA() {
        Utils.$emit('demo','msg');
    }
}

4.被调用方代码

 mounted(){
     Utils.$on('demo', (msg) => {
         console.log(msg);
         this.functionB();
     })
 },
 methods: {
     functionB() {
         ...
     }
 }

原文地址:http://t.zoukankan.com/shun1015-p-13821684.html

posted @ 2022-06-07 09:04  埃菲尔上的加菲猫  阅读(784)  评论(0编辑  收藏  举报