今天在寫頁面的時候,有一個需求,就是新聞列表項的時候,會顯示出瀏覽次數,點擊進入頁面的時候,也會有瀏覽次數,且瀏覽次數比點擊之前的已經+1了。那么用戶返回到新聞列表頁的時候,瀏覽次數應該更新了。
mui中有兩種方式去解決返回事件的問題;
最普通的邏輯就是點擊返回,關閉當前頁面
mui.back = function(){ plus.currentWebview.close(); }
還有一種就是我剛才說的需求:
這個需要先在子頁面中注冊一個函數,beforeBack,在其中自定義函數,這樣在子頁面就不用再定義mui.back事件了
mui.init({ beforeback: function(){ //獲得列表界面的webview //var list = plus.webview.currentWebview().opener();//這種方式也可以 //目標頁面 var list = plus.webview.getWebviewById('父頁面的id值'); //觸發列表界面的自定義事件(refresh),從而進行數據刷新 mui.fire(list, 'refresh'); //返回true,繼續頁面關閉邏輯 return true; } });
接下來,就要在父頁面中定義監聽函數,監聽refresh事件
window.addEventListener('refresh',function(){ location.reload();//父頁面僅僅是刷新頁面,當然也可以自定義邏輯函數寫在里面 })
補充一點:
通過mui.fire()方法可觸發目標窗口的自定義事件。