vue—一个组件调用另一个组件的methods

这种方法不常用,项目中有个地方共享数据了,起初没用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.被调用方代码

 1 mounted(){
 2     Utils.$on('demo', (msg) => {
 3         console.log(msg);
 4         this.functionB();
 5     })
 6 },
 7 methods: {
 8     functionB() {
 9         ...
10     }
11 }
原文地址:https://www.cnblogs.com/shun1015/p/13821684.html