zoukankan      html  css  js  c++  java
  • mui框架页面每次加载操作

    最近在优化自己用mui开发的app,主要还是针对交互这块儿,这里简单给大家说一下问题点场景,就是我是通过动态添加底部tabBar的方法创建了一个底部可以切换的操作区域,代码如下:

    mui.init();
    var defaultpage = "tab-webview-subpage-product.html"; // 定义默认选项卡子页面
    var newPage = '';
    // 定义所有子页面
    var subpages = ['tab-webview-subpage-product.html', 'tab-webview-subpage-shopping.html',
    'tab-webview-subpage-me.html'
    ];
    // 页面加载完成后加载子页面
    mui.plusReady(function() {
    var current = plus.webview.currentWebview(); //获取当前页面的窗口对象
    // 加载所有子页面
    for (let i = 0; i < 3; i++) {
    var sub = plus.webview.create(subpages[i],subpages[i], {
    top: '0px',
    bottom: '50px'
    }
    );
    // 除默认页面外,其他子页面隐藏
    if (subpages[i] != defaultpage) {
    sub.hide();
    }
    current.append(sub); // 子页面加入窗口对象
    }
    });
    // 创建点击事件
    mui("#nav-tabbar").on("tap", "a", function(e) {
    newPage = this.id + ".html";
    if(defaultpage == newPage) {
    return;
    };
    plus.webview.hide(defaultpage); // 隐藏上一个子页面
    plus.webview.show(this.id + ".html") // 显示当前点击页面
    newPage = defaultpage = this.id + ".html"; // 记录当前点击页面
    });

    这种方法生成的多个html页面有一个问题,就是无法使用mui.ready或mui,plusReady来监听该页面被加载了,从而无法做一些刷新页面内容或者数据的操作,此时会想到用自定义事件mui,fire方法,但是经验证也行不通,这里的解决方法只能是在有刷新要求的页面写如下代码即可

    mui.plusReady(function () {
    // 每次进入到这个页面触发下面的函数

    plus.webview.currentWebview().addEventListener("show",function(){

    //这里定义你的处理方法

    },false);

    })

  • 相关阅读:
    借助NetFlow Analyzer的IPAM SPM插件,轻松实现IP和交换机端口管理
    补丁日微软修复了129个漏洞,学习补丁管理最佳实践
    如何通过组策略映射驱动器?
    如何预防磁盘使用率过高?
    ITIL是什么意思?
    Applications Manager—打造最佳云监控策略
    Microsoft 365独家安全解决方案
    怎么让Chrome支持小于12px 的文字?
    vue Router的使用
    vue项目中随机生成验证码
  • 原文地址:https://www.cnblogs.com/shenwh/p/11240001.html
Copyright © 2011-2022 走看看