路由页面
mounted() {
window.addEventListener('message', e => {
this.targetWindow = e.source;
});
},
methods:{
setMessage() {
let windowUrl = window.location.href;
let domain = windowUrl.split('#')[0];
let href = domain + '#/aaa';
this.targetWindow.postMessage('refresfdata', href);
},
submit(){
this.setMessage();
}
}
父级页面
mounted() {
let _this = this;
window.addEventListener(
'message',
function (event) {
if (event.data === 'refresfdata') {
_this.queryData();
}
},
false
);
},
methods:{
creatDt(name) {
const { href } = this.$router.resolve({
name: name,
});
let newWindow = window.open(href, '_blank');
setTimeout(() => {
newWindow.postMessage('bq', '*');
}, 10 * 1000);
},
}