1.界面初始化

初始化就是把一切程序设为默认状态,把没准备的准备好。

mui框架将很多功能配置都集中在mui.init方法中,要使用某项功能,只需要在mui.init方法中完成对应参数配置即可,目前支持在mui.init方法中配置的功能包括:创建子页面、关闭页面、手势事件配置、预加载、下拉刷新、上拉加载。

2.H5plus初始化

在APP开发中,如果用到了H5+的一些API或者接口,需要初始化另外一个函数,类属于 JS 中的window.onload 或者 window.ready

Mui.plusReady(); 所有涉及到H5+的东西,建议写到这个里面

mui.plusReady(function(){
var w = plus.webview.currentWebview();
console.log(w);
});

3.创建子页面

为防止APP运行过程中内容滚动出现卡顿的现象,所以部分页面采用头部和内容分离的形式进行实现,比如头部导航和底部导航

mui.init({
subpages:[{
url:your-subpage-url,//子页面HTML地址,支持本地地址和网络地址
id:your-subpage-id,//子页面标志
styles:{
top:subpage-top-position,//子页面顶部位置
bottom:subpage-bottom-position,//子页面底部位置
width:subpage-width,//子页面宽度,默认为100%
height:subpage-height,//子页面高度,默认为100%
......
},
extras:{}//额外扩展参数
}]
});

4.打开界面

//打开新窗口
mui.openWindow({
url:'target.html', //需要打开页面的url地址
id:'target', //需要打开页面的url页面id
styles:{
top:'0px',//新页面顶部位置
bottom:'0px',//新页面底部位置
//width:newpage-width,//新页面宽度,默认为100%
//height:newpage-height,//新页面高度,默认为100% ......
},
extras:{
name:'aries',
age:'18',
//.....//自定义扩展参数,可以用来处理页面间传值
},show:{ //控制打开页面的类型
autoShow:true,
//页面loaded事件发生后自动显示,默认为true
aniShow:'zoom-fade-out',//页面显示动画,默认为”slide-in-right“; 页面出现的方式 左右上下
duration:'1000'//页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒;
}, waiting:{ // 控制 弹出转圈框的信息
autoShow:true,//自动显示等待框,默认为true
title:'东翌学院...',//等待对话框上显示的提示内容
options:{
width:'300px',//等待框背景区域宽度,默认根据内容自动计算合适宽度
height:'300px',//等待框背景区域高度,默认根据内容自动计算合适高度 ......
}
}
});

5.参数传递

mui.plusReady(function(){
var self = plus.webview.currentWebview(); //获得当前页面的对象
var name = self.name; //name 和 age 为传递的参数的键
var age = self.age;
console.log(name);
console.log(age);
// 获得首页 专用的
var index = plus.webview.getLaunchWebview();
// 获得指定页面的对象 注意,要确保你的这个页面是存在的, 就是打开过的
var target = plus.webview.getWebviewById('目标页面的id');
});

6.控制页面load显示

show:{  // openwindow 函数内设置
autoShow:false
}
// 目标页面
//从服务器获取数据 ....
这里是业务逻辑
//业务数据获取完毕,并已插入当前页面DOM;
//注意:若为ajax请求,则需将如下代码放在处理完ajax响应数据之后;
mui.plusReady(function(){
//关闭等待框
plus.nativeUI.closeWaiting();
//显示当前页面
mui.currentWebview.show();
});

7.控制页面load显示

show:{  // openwindow 函数内设置
autoShow:false
}
// 目标页面
//从服务器获取数据 ....
//这里是业务逻辑
//业务数据获取完毕,并已插入当前页面DOM;
//注意:若为ajax请求,则需将如下代码放在处理完ajax响应数据之后;
mui.plusReady(function(){
//关闭等待框
plus.nativeUI.closeWaiting();
//显示当前页面
mui.currentWebview.show();
});

8.关闭界面

1,点击包含.mui-action-back类的控件

2,在页面上,向右快速滑动

3, Android手机按下back按键

mui框架封装的页面右滑关闭功能,默认未启用,若要使用右滑关闭功能,需要在mui.init();方法中设置swipeBack参数,如下:

mui.init({
swipeBack:true //启用右滑关闭功能
});

mui框架默认会监听Android手机的back按键,然后执行页面关闭逻辑; 若不希望mui自动处理back按键,可通过如下方式关闭mui的back按键监听:

mui.init({
keyEventBind: {
backbutton: false //关闭back按键监听
}
});

参考东翌编程

mui框架(一)的更多相关文章

  1. mui框架中底部导航的跳转1

    mui框架极大的方便了app的开发但是我们在做页面之间的切换时发现不能实现 a 链接的跳转,这是应为mui相关的一些控件是通过拦截a标签上的href来实现的,所以mui.js会阻止a标签上的href跳 ...

  2. MUI 框架微信支付

    在MUI 框架中实现了支付宝支付后,以为MUI微信支付,也没什么大问题,结果这个问题困扰了我几天,后面再同事的提醒下终于弄出来了, 问题出在,开始使用Dcloud 公有证书 怎么也付不了....,后面 ...

  3. 用mui框架开发手机app项目实践中的那些事儿

    http://www.yilingsj.com/xwzj/2015-04-29/260.html 最近在玩mui框架,坑的我是:西湖的水,全都是眼泪!!! 公司的手机app要进行改版,我率先想到的是j ...

  4. 跨平台移动端APP开发---简单高效的MUI框架

    MUI是dcloud(数字天堂)公司旗下的一款跨平台开发移动APP的框架产品,在学习MUI框架之前,最先接触了Hbuilder代码编辑器,它带给我的第一感觉是快,这是HBuilder的最大优势,通过完 ...

  5. 初入APP(结合mui框架进行页面搭建)

      前  言 博主最近在接触移动APP,学习了几个小技巧,和大家分享一下. 1. 状态栏设置 现在打开绝大多数APP,状态栏都是与APP一体,不仅美观,而且与整体协调.博主是个中度强迫症患者,顶部那个 ...

  6. mui框架移动开发初体验

      前  言 博主最近在接触移动APP,学习了几个小技巧,和大家分享一下. 1. 状态栏设置 现在打开绝大多数APP,状态栏都是与APP一体,不仅美观,而且与整体协调.博主是个中度强迫症患者,顶部那个 ...

  7. MUI框架开发HTML5手机APP(一)--搭建第一个手机APP

      前  言 JRedu 随着HTML5的不断发展,移动开发成为主流趋势!越来越多的公司开始选择使用HTML5开发手机APP,而随着手机硬件设备配置的不断提升,各种开发框架的不断优化,也使着H5开发的 ...

  8. 使用mui框架----移动端页面在所有屏幕下自适应

    写移动端怎么会不用到框架呢? 现在比较火的是mui.amaze UI 之类的,mui是现在最灵活轻便的一个框架,能够从pc到移动灵活的自适应, 只需要调用他定义的类名就能使用,非常方便,只是需要自己来 ...

  9. MUI框架 按钮点击响应不好的问题解决办法

    MUI框架 按钮点击响应不好的问题 实际例子: $(function (){ mui(document.body).on('tap', '.bindchk', function(e) { //触发一次 ...

  10. 基于vue项目的组件中导入mui框架初始化滑动等效果时需移除严格模式的问题

    基于vue项目的组件中导入mui框架初始化滑动等效果时,控制台报错:Uncaught TypeError: 'caller', 'callee', and 'arguments' properties ...

随机推荐

  1. windows Server 2012/2016 路由和远程访问,PPPOE,ADSL,连接接口时出现一个错误,连接被远程计算机终止

    经过查询资料,是由mprddm.dll的bug引起的. 修改位置: 将je修改为jmp. 查找修改位置,可参考 前面的RasGetPortUserData的调用,或者 后面的 字符串 64位dll可使 ...

  2. [LOJ 2720][BZOJ 5417][UOJ 395][NOI 2018]你的名字

    [LOJ 2720][BZOJ 5417][UOJ 395][NOI 2018]你的名字 题意 给定一个大串 \(S\) 以及 \(q\) 次询问, 每次询问给定一个串 \(T\) 和区间 \([l, ...

  3. Mojave使用pyenv安装python-zlib错误

    mojave使用pyenv编译python出现 zipimport.ZipImportError: can't decompress data; zlib not available错误 解决方案: ...

  4. 使用Winform程序作为WCF服务的宿主

    如果我们自己新建一个WCF服务库,生成了dll文件.那我们需要创建一个宿主程序,在本例中我们新建一个Winform程序作为WCF的宿主程序. 在网上很多教程里对创建过程写的很模糊,错误也很多.本文是作 ...

  5. Cobalt Strike深入使用

    System Profiler使用 System Profiler 模块,搜集目标的各类机器信息(操作系统版本,浏览器版本等) Attacks->web drive-by->System ...

  6. 通过HttpClient调用服务

    /** * 通过HttpClient调用服务 * * @param url 路径 * data json数据 * @return */ //post请求方法public String sendItsm ...

  7. ping和telnet

    ping命令 验证IP的可达性 本地ping虚拟机中的ip地址: telnet命令 验证服务的可用性,某个端口是否打开 连接到服务器的端口上: 几种场景: (1)ping通,telnet不行 ip地址 ...

  8. Vue表单输入绑定(文本框和复选框)

    文本框 <!DOCTYPE html><html>    <head>        <meta charset="utf-8">  ...

  9. CentOS配置Hive

    hive搭建共分为三种模式:1.embedded,2.local,3.remote server 在这里,主要是配置第3种模式:remote server模式,如下图所示: 我的环境共三台虚拟机:Ho ...

  10. 带你看懂大数据采集引擎之Flume&采集目录中的日志

    一.Flume的介绍: Flume由Cloudera公司开发,是一种提供高可用.高可靠.分布式海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于采集数据:同时,flum ...