开始用mui移动端项目,最常遇到的问题就是刷新页面,最常见的一种就是下拉刷新,按照官网上的来,可以轻松解决;另外一种常见的就是从子页面回到父页面的刷新,
在子页面,注册beforeback参数+自定义事件:
mui.init({
beforeback: function(){
//获得列表界面的webview
//var list = plus.webview.currentWebview().opener();
//目标页面
var list = plus.webview.getWebviewById('FollowUpHisList');
//触发列表界面的自定义事件(refresh),从而进行数据刷新
mui.fire(list, 'refresh');
//返回true,继续页面关闭逻辑
return true;
}
});
beforeback的执行返回必须是同步的,当然也可以自定义业务逻辑,复写mui.back
var old_back = mui.back;
mui.back = function(){
var btn = ["确定","取消"];
mui.confirm('确认关闭当前窗口?','Hello MUI',btn,function(e){
if(e.index==0){
//执行mui封装好的窗口关闭逻辑;
old_back();
}
});
}
而父页面,则需要添加监听事件,通过reload刷新整个页面:
window.addEventListener('refresh', function(e) {
//在父页面中添加监听事件,刷新页面
location.reload();
});
在实际应用中,如果父页面只是单纯的列表页,那么reload()刷新也是可以的,但如果页面中有其他的请求,这时候reload()刷新整个页面就显得有些多余,这个时候为何不单单只刷新指定的方法呢?
window.addEventListener('refresh', function(e) {
document.getElementById('infoList0').innerHTML = "";
//清空列表内容
initCloumnData();//重新加载要刷新的方法
});
当然,这种在子页面添加自定义事件,父页面添加监听的方法也可以用于方法请求成功后,自动跳转到目标页面并刷新,在实际中也是很实用的,尤其是添加,编辑信息成功后,自动返回并刷新页面。
高手请多指点,新手可以借鉴。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。