1. 程式人生 > >MUI預載入頁面跳轉並傳遞引數的問題,Uncaught Error: webview[某個頁面的id] does not exist

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