a:父页面 b:子页面
由b页面向a页面传递值
子页面的js方法
openDialog:function (val) { app.article = val; //将json串赋给父级窗体元素 window.parent.test(JSON.stringify(app.article)); // 这里传递的值最好是string,json对象容易出错 },父页面:方法写在全局的方法里 父页面如果用的是vue,也可以直接写在js文件里。注这里方法要写到整个var app = new Vue({})之外
方法二: 子页面js 原理:在父页面写两个标签,一个input用来存贮数据,一个当子页面传递值得时候用来触发click事件,以得到子页面传递给父页面中得值
/** 打开弹框显示原文 */ openDialog:function (val) { app.article = val; //将json串赋给父级窗体元素:注,这里传递得值如果是对象就会报错(被这个问题坑了好长时间) window.parent.document.getElementById('parentinput').value= JSON.stringify(app.article); // addTabpp是父级窗体中 写有onclick方法的元素 window.parent.document.getElementById('parenta').click(); },父页面html代码:
<input type="text" id="parentinput" value="inputvalue" style="opacity:0;"> <a href="javascript:void(0);" id="parenta" @click="parentclick()" style=”opacity:0;"> </a>父页面js
parentclick:function () { var a=document.getElementById("parentinput").value; console.log(typeof a); console.log(JSON.parse(JSON.stringify(a))); },