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