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

it2025-01-21  37

一、页面刷新问题 

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页面 mui.back(); //或者 mui.back 直接返回上一页

 

二、页面间传值问题 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 = “”; });

 

转载于:https://www.cnblogs.com/wufanJY/p/9021307.html

最新回复(0)