假设A.vue与B.vue页,A.vue需要调用B.vue页面methods中的test()方法

B.vue

methods: {
    test(){
        console.log('hello word!')
    },
}

方法一:组建公共的js,在src下新建utils目录,新建callUtils.js

callUtils.js:只需写这两句即可

import Vue from 'vue'

export default new Vue

在A.vue中的点击事件中写一句

click(){
    Utils.$emit('test','B')
}

在B.vue中写

methods :{
    test(){
        console.log("hello word!")
    }
},
mounted() {
    Utils.$on('test',(B)=>{
        this.test();
    })
}

方法二:利用window

A.vue在点击事件写入

click(){
    window.parent.test(event, 'A');
}

B.vue的mount()写

methods: {
    test(){
        console.log('hello word!')
    }
}
mounted () {
    var that = this;
    window['test'] = (event, name) => {
       that.test(event, name)
    }
}

 

Logo

前往低代码交流专区

更多推荐