这是在app项目早期所遇到的问题,在这个项目中,使用mui作为页面的基础效果,布局的实现,使用vue来进行整个网站所有数据的渲染,于是首当其冲的第一个问题,就是页面参数的传递。对于mui,有很好的页面参数传递方案,但是如何把mui传递的参数绑定到vue中,就稍微有那么一些麻烦了,在研究了一段时间后,共总结了两个办法,发在文章里留做记录。
以我要传递的参数名称为url为例。
方法一:带地址后缀传参
1.在准备传参数的页面,openWindow方法中,直接给要传参的页面加后路径,就像是常见的get请求一样,代码如下。mui.openWindow({
url:"text.html?url="+url,
id:"text.html",
waiting: {
autoShow: true,
}
})
2.在接收参数的页面,首先在js外面定义一个接收参数的全局方法。function getname(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r != null) return unescape(r[2]);
return null;
}
然后在vue中定义初始的字段。el:'#app