使用場景:
頁面分為header、home、footer三部分,需要在home中調用header中的方法,這兩個沒有相互引入
官方給出方法:
需要在展示頁里調用頂部導航欄頁里的方法,兩者之間沒有引用關系,看了一下vue的API發現可以用這個方法實現。
https://cn.vuejs.org/v2/api/#vm-on

在項目中實現:
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(){
var that = this;
Utils.$on('demo', function (msg) {
console.log(msg);
that.functionB();
})
},
methods: {
functionB() {
...
}
}

