zoukankan      html  css  js  c++  java
  • Hbuilder MUI 页面刷新及页面传值问题

    一、页面刷新问题 

    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 = “”; 
    });
  • 相关阅读:
    Serverless 动态博客开发趟“坑”记
    tsv与csv文件
    zypper
    source、sh、./三种执行方式对脚本变量的影响
    linux nm
    ldconfig
    cpio
    License简介
    rpm之spec文件
    使用rpmbuild制作rpm包
  • 原文地址:https://www.cnblogs.com/wufanJY/p/9021307.html
Copyright © 2011-2022 走看看