一个主页面index.html预加载一个子页面List_test.html并传值,这个子页面再预加载一个子页面Content_001.html并传值,index.html跳转到List_test.html没有问题,List_test.html跳转到Content_001,html页面就出问题了,好像值没有传过来,而且也没有执行Content_001.html页面的任何东西
index主要代码如下:
var listPage = mui.preload({
url:'List_test.html',
id:'List_test.html'//默认使用当前页面的url作为id
});
//添加a标签的tap事件
$.plusReady(function() {
plus.navigator.closeSplashscreen();
mui('#backGround').on('tap', 'a', function(e) {
var uid;
var id;
var type;
var strId = this.getAttribute('id');
var strHref = this.getAttribute('href');
console.log(strId+" "+strHref);
var strs= new Array(); //定义一数组
strs=strId.split("_"); //字符分割
for (i=0;i<strs.length ;i++ ){
uid=strs[0];
id=strs[1];
type=strs[2];
}
//触发详情页面的getParam事件
mui.fire(listPage,'getParam',{
uid:uid,
pid:id,
});
//打开详情页面
mui.openWindow({
id:strHref,
url:this.href
});
});
});
List_test页面主要代码如下:
var xhr=null;
var uid=null;//商家id
var pid=null;//栏目id
var curPage=1;//首先获取第一页的数据展现
var totalPage=null;
var requestUrl=null;
//预加载单页
var contentPage = mui.preload({
url:'Content_001.html',
id:'Content_001.html'//默认使用当前页面的url作为id
});
//添加a标签的tap事件
//添加列表项的点击事件
mui.plusReady(function() {
plus.navigator.closeSplashscreen();
mui('#contentList').on('tap', 'a', function(e) {
var uid;//局部变量,传值用
var pid;//局部变量,传值用
var id;//局部变量,传值用
var strId = this.getAttribute('id');
var strHref = this.getAttribute('href');
console.log(strId+" "+strHref);
var strs= new Array(); //定义一数组
strs=strId.split("_"); //字符分割
for (i=0;i<strs.length ;i++ ){
uid=strs[0];
pid=strs[1];
id=strs[2];
}
//触发详情页面的getParam事件
mui.fire(contentPage,'getParam',{
uid:uid,
pid:pid,
id:id
});
//打开详情页面
mui.openWindow({
id:strHref,
url:this.href
});
});
});
Content_001页面接收传值代码如下:
window.addEventListener('getParam',function(event){
//获得事件参数
uid = event.detail.uid;
pid = event.detail.pid;
id = event.detail.id;
type = event.detail.type;
console.log(type);
});
4 个回复
DCloud_UNI_FXY
content_001页面引入mui的js没有。使用fire事件必须两个页面都引用mui的js
等烟雨 (作者)
当然引入啦,这个问题算是解决了,我没有把接收参数的方法写在plusready的监听事件里
韩言风
OK 看这个解决了父级传值问题
Rain
detail 指的是详情页面的 id 还是一个方法呀?
DCloud_UNI_FXY
detail是mui给event添加的一个固定的属性来存储自定义事件的参数,你在自定义事件里传的参数,都在detail里边。
2015-04-26 13:45