MUI預載入頁面跳轉並傳遞引數的問題,Uncaught Error: webview[某個頁面的id] does not exist
阿新 • • 發佈:2019-01-22
最近剛剛入門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