MUI预加载页面跳转并传递参数的问题,Uncaught Error: webview[某个页面的id] does not exist

最近刚刚入门mui,学习慕课上仿豆瓣app,但是在预加载和跳转页面中出现了以下问题。

 Uncaught Error: webview[某个页面的id] does not exist

具体代码如下:

                          //预加载电影详情页面
			var detailPage = mui.preload({
				id:'movie-detail',
				url:'./html/movie-detail.html'
			});
			
			//打开电影详情页面
			function open_detail(item){
				//触发详情页面的movieId事件
				mui.fire(detailPage,'movieId',{
					id:item.id
				});
				//打开
				mui.openWindow({
					id:'movie-detail'
				});
			}

这段代码没有放在plusReady中,具体结构如下,

修改方案:

把预加载丢在plusReady中,然后在plusReady中使用detailPage= plus.webview.getWebviewById('movie-detail');来获取这个webview,具体如下。

var detailPage;
mui.plusReady(function() {
	mui.preload({
	    id: 'movie-detail',
	    url: './html/movie-detail.html'
	});
	detailPage= plus.webview.getWebviewById('movie-detail');
});

//打开电影详情页面
function open_detail(item) {
    //触发详情页面的movieId事件
    mui.fire(detailPage, 'movieId', {
	id: item.id
	});
//打开
mui.openWindow({
	id: 'movie-detail'		
});
}

具体原因尚不明确,可能跟js执行的顺序有关,很有可能是预加载没完成,或者页面还没加载完成就进行预加载,导致movie-detail这个webview并没有加载,所以id为movie-detail的这个页面就不存在,实际需要进一步考察,如果有大佬知道请告知我一下,感激不尽。

完整项目代码:

链接:https://pan.baidu.com/s/12sjW5MYOiA9YBwjEF0xrGA 密码:hy15

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值