MUI back返回父页面,同时刷新父页面

开始用mui移动端项目,最常遇到的问题就是刷新页面,最多见的一种就是下拉刷新,按照官网上的来,能够轻松解决;另一种常见的就是从子页面回到父页面的刷新,
在子页面,注册beforeback参数+自定义事件:web

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.backui

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刷新整个页面:code

window.addEventListener('refresh', function(e) {
//在父页面中添加监听事件,刷新页面
    location.reload();  
});

在实际应用中,若是父页面只是单纯的列表页,那么reload()刷新也是能够的,但若是页面中有其余的请求,这时候reload()刷新整个页面就显得有些多余,这个时候为什么不仅仅只刷新指定的方法呢?事件

window.addEventListener('refresh', function(e) {  
    document.getElementById('infoList0').innerHTML = "";
    //清空列表内容
    initCloumnData();//从新加载要刷新的方法
});

固然,这种在子页面添加自定义事件,父页面添加监听的方法也能够用于方法请求成功后,自动跳转到目标页面并刷新,在实际中也是很实用的,尤为是添加,编辑信息成功后,自动返回并刷新页面。
高手请多指点,新手能够借鉴。webview

相关文章
相关标签/搜索