假设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)
}
}