vue打开其他项目页面并传入数据详解


Posted in Vue.js onNovember 25, 2020

1.不跨域,携带sessionstorage打开

主页面,存储sessionstorage后,打开页面

let data = {
	text:'我是数据'
};
let isMobile = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)?true:false;

sessionStorage.setItem('information',JSON.stringify(data));
//ios不能打开新窗口,所以改为移动端在原本页面打开,pc打开新窗口
window.open(window.location.protocol + "//" + window.location.host + reportUrl, isMobile?'_self':'_blank');

子页面

var date = JSON.parse(sessionStorage.getItem('information'));

2.跨域,iframe通信

跨域的情况下,无法携带sessionstorage,通过iframe的postMessage通信机制传递数据;

不跨域也可以用,但更建议使用第一种,比较丝滑~

主页面,写入url,加载完成后,发送数据

<iframe id='iframe' class="iframe" v-if="src" ref="iframe" :src="src"></iframe>

let data = {
	text:'我是数据'
};
this.src = url
this.$nextTick(()=>{
	document.getElementById('iframe').onload=()=>{
		document.getElementById('iframe').contentWindow.postMessage({
			type:'preview',
			data:data
		},this.src)
		document.getElementById('iframe').onload=null;
 }
})

子页面,执行监听,created、mounted都可以

created() {
	window.addEventListener('message',(event)=>{
	 console.log(event.data.type)
	 if(event.data&&event.data.type=='preview'){
	  console.log(event.data.data)
	  let data = event.data.data
	 }
	 }, false);
}

总结

到此这篇关于vue打开其他项目页面并传入数据的文章就介绍到这了,更多相关vue打开项目页面并传数据内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
Vue实现点击当前行变色
Dec 14 Vue.js
vue 在单页面应用里使用二级套嵌路由
Dec 19 Vue.js
vue+vant 上传图片需要注意的地方
Jan 03 Vue.js
vue实现拖拽进度条
Mar 01 Vue.js
Vue Element UI自定义描述列表组件
May 18 Vue.js
Vue过滤器(filter)实现及应用场景详解
Jun 15 Vue.js
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 Vue.js
Vue2.0搭建脚手架
Mar 13 Vue.js
vue中div禁止点击事件的实现
Apr 02 Vue.js
vue项目proxyTable配置和部署服务器
Apr 14 Vue.js
vue使用localStorage持久性存储实现评论列表
Apr 14 Vue.js
vue 把二维或多维数组转一维数组
Apr 24 Vue.js
Vue开发中常见的套路和技巧总结
Nov 24 #Vue.js
浅析VUE防抖与节流
Nov 24 #Vue.js
解决vue页面刷新,数据丢失的问题
Nov 24 #Vue.js
Vue 的 v-model用法实例
Nov 23 #Vue.js
VUE+Element实现增删改查的示例源码
Nov 23 #Vue.js
Vue实现购物小球抛物线的方法实例
Nov 22 #Vue.js
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
Nov 20 #Vue.js
You might like
javascript html 静态页面传参数
2009/04/10 Javascript
jQuery 表单验证扩展(三)
2010/10/20 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
For循环中分号隔开的3部分的执行顺序探讨
2014/05/27 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
2016/09/08 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
Vee-Validate的使用方法详解
2017/09/22 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
Python入门篇之文件
2014/10/20 Python
使用Pyinstaller的最新踩坑实战记录
2017/11/08 Python
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
Python通过队列来实现进程间通信的示例
2020/10/14 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
美国基督教约会网站:ChristianCafe.com
2020/02/04 全球购物
测控技术与仪器个人求职信范文
2013/12/30 职场文书
自考生自我评价分享
2014/01/18 职场文书
幼儿园保育员岗位职责
2014/04/13 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
中学生旷课检讨书2篇
2014/10/09 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
五四青年节比赛演讲稿
2015/03/18 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
selenium.webdriver中add_argument方法常用参数表
2021/04/08 Python
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS