Yooye
Yooye
  • 发布:2016-04-20 23:00
  • 更新:2016-04-20 23:00
  • 阅读:18181

关于二级页面返回后刷新一级页面的实践

分类:MUI

var taskList = plus.webview.getWebviewById('tasklist');
taskList.reload();
mui.back();

1、上面是我根据官方的提示方法,以及问答社区朋友的回答,得到的返回刷新页面的方法。

2、具体实现方法是,把以上代码放到触发返回刷新事件的元素上

document.getElementById("btn").addEventListener("tap", function() {  
       var taskList = plus.webview.getWebviewById('tasklist');  
       taskList.reload();  
       mui.back();  
}

3、getWebviewById('tasklist');中的tasklist即为要刷新的页面的id,但是这个id从何而来呢?

4、其实除了入口页面,其他页面都是可以通过openwindow的时候追加id的,也就是说是通过要刷新的页面的上一个页面得来。

mui.openWindow({  
        url: 'my-task-list.html',  
        id: 'tasklist',  
}

5、我在处理返回刷新的时候在getWebviewById这里卡了很久,记录下来,以备查阅。

11 关注 分享
xiamo152 4***@qq.com 阿里大飞 r***@outlook.com 9***@qq.com 8***@qq.com 8***@qq.com 1***@163.com 小白的技术 farce czx223

要回复文章请先登录注册

y***@126.com

y***@126.com

一级页面:
window.addEventListener("rephre",function () {
需要执行的方法在这来开始
})
二级页面:
if(window.plus) {
var webview = window.plus.webview.getWebviewById(一级页面id);
mui.fire(webview,'rephre');
}
mui.back();
2018-03-09 16:17
3***@qq.com

3***@qq.com

好问题
2017-12-11 16:10
9***@qq.com

9***@qq.com

mark一下
2017-11-30 17:25
Yooye

Yooye (作者)

回复 为乐而来 :
局部刷新没尝试过,如果你有尝试,可以分享一下经验~
2016-09-30 09:51
为乐而来

为乐而来

你这个是能用,但是要是上级页面有别的DOM操作过,这样刷新全刷新了,不知道是否能调用父级页面js方法来实现局部操作。。
2016-08-31 17:47
4***@qq.com

4***@qq.com

给个赞,能用哦
2016-05-06 09:47
xiamo152

xiamo152

回复 xdhgjdsjdcgrdh :
thanks! 我也找到这个api尝试通过
2016-04-21 15:31
xdhgjdsjdcgrdh

xdhgjdsjdcgrdh

回复 xiamo152 :
获取入口页面webview对象 var wvIndex = plus.webview.getLaunchWebview();
2016-04-21 15:10
xiamo152

xiamo152

lz MUI提供的返回刷新是针对具备 id的 页面
//获得列表界面的webview
var list = plus.webview.getWebviewById('list');
如果是入口页面(不具备id)打开二级页面返回后如何刷新入口页面呢?
2016-04-21 10:32