Hbuilder MUI 页面刷新及页面传值问题

本文探讨了在Hbuilder MUI框架中遇到的页面刷新和页面间数据传递的问题。首先,介绍了如何在子页面修改数据后返回父页面并确保父页面数据刷新。接着,展示了具体的代码实现,包括父页面A的处理逻辑。内容详细阐述了在页面跳转过程中保持数据同步的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、页面刷新问题 
1.父页面A跳转到子页面B,B页面修改数据后再跳回A页面,刷新A页面数据 
(1).父页面A代码 

window.addEventListener(“pageflowrefresh”, function (e) { 
location.reload(); 
}); 

(2).子页面B代码 
var main = plus.webview.currentWebview().opener();//获取父页面A对象 
var main = plus.webview.getWebviewById(‘A’);//或者通过A页面id获取A页面对象 
mui.fire(main, “pageflowrefresh” );//出发A页面的pageflowrefresh方法 
mui.redirect(‘A’,’A.html’);//跳转到A页面 

二、页面间传值问题 
1.从A页面传值到B页面(mui.fire()方式) 
(1).A页面代码 
var main = plus.webview.getWebviewById(‘B’); 
mui.fire(main, “pageflowrefresh”,{ 
id:100 
}) 

(2).B页面代码 
window.addEventListener(“pageflowrefresh”, function (e) { 
//获得事件参数 
var id = e.detail.id; 
}); 

2.从A页面传值到B页面(mui.方式) 
(1).A页面代码 
var param = { //这是要传的数据 
userId: ‘userId11111111111’, 
toKen: ‘toKen’, 
userRole: ‘userRole’ 
}; 
mui.openWindow({//目标页面 
url: ‘second.html’, 
id: ‘second.html’, 
extras: param 
}); 

(2).B页面代码(plus必须要放在plusReady里) 
mui.plusReady(function() { 
var self = plus.webview.currentWebview(); //获取当前窗体对象 
alert(self.userId); //接收A页面传入的id参数值 
});

三、提交成功后跳转页面,并刷新 
A页面: 

//获得列表界面的webview 
var i = plus.webview.getWebviewById(“ArticleExamine.html”); 
//触发前往页面的自定义事件(例:AddNew),从而进行数据刷新 
mui.fire(i,’AddNew’); 
if(i){ 
//触发列表界面的自定义事件(refresh),从而进行数据刷新 
i.evalJS(“ArticleList(1, 10);”); 
} 

B页面: 
//添加AddNew自定义事件监听 
window.addEventListener(‘AddNew’,function(){ 
document.getElementById(“news”).innerHTML = “”; 
});





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值