今天在写页面的时候,有一个需求,就是新闻列表项的时候,会显示出浏览次数,点击进入页面的时候,也会有浏览次数,且浏览次数比点击之前的已经+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()方法可触发目标窗口的自定义事件。