mui.init()与mui.plusReady()区别和关系

首先我们来看下mui.init()与mui.plusReady()的区别:

mui框架将很多功能配置都集中在mui.init方法中,要使用某项功能,只需要在mui.init方法中完成对应参数配置即可,目前支持在mui.init方法中配置的功能包括:创建子页面、关闭页面、手势事件配置、预加载、下拉刷新、上拉加载。
但是官方有又说法:
页面初始化:必须执行mui.init方法
mui在页面初始化时,初始化了很多参数配置,比如:按键监听、手势监听等,因此mui页面都必须调用一次mui.init()方法;

在app开发中,若要使用HTML5+扩展api,必须等plusready事件发生后才能正常使用,mui将该事件封装成了mui.plusReady()方法,涉及到HTML5+的api,建议都写在mui.plusReady方法中。

个人认为:
1.每个用到mui的页面都调用下mui.init。
2.如果需要使用大H5+对象,就写到plusReady中,如plus对象。

初学mui会发现大量的demo中,都需要调用mui.init()和mui.plusReady(),可见这两东西在app开发中的重要性

首先请注意一点,如果不是做app开发(非hbuilder基座运行),做web开发的话(在浏览器运行html),plusReady是没有意义的,不会执行,为什么?

无论做wap网页,还是app开发,只要需要用到mui框架,都需要mui.init初始化框架功能,而plusready仅仅在app开发中使用

mui个人习惯:

每个用到mui的页面都调用下mui.init,直接放在js最前方
除了function定义函数之外,全都写在plusReady之中,function调用也放在其中,毕竟做app开发调用html5+api十分的频繁,就像jq的$(document).ready()一样的道理,尤其是出现plus对象的一定放在plusReady里面!
目前尚不清楚plusReady过分臃肿对性能是否造成伤害。理论上只是在html5+加载完之后执行其中的代码罢了,是不会影响性能,只会晚一点执行(延迟并不会感受到)

关于mui plusReady的注意点:

mui.plusReady()中的代码不执行

可能1:

你在浏览器下运行了html

可能2:

plusReady事件仅在webview首次创建时触发,使用mui.openWindow方法多次打开已存在的同样id的webview时,是不会重复触发plusReady事件的; 因此若业务写在plusReady事件中,可能会出现执行结果和预期不一致的情况;此时可通过自定义事件触发

mui.init和mui.plusReady这两者到底什么关系

mui.init初始化mui的一些参数配置
如果要使用h5+的一些对象、方法,就要使用mui.plusReady,比如mui.plus对象。
mui,init每次写js,最好都加上。

(0)

相关推荐

  • mui.init()与mui.plusReady()区别和关系

    首先我们来看下mui.init()与mui.plusReady()的区别: mui框架将很多功能配置都集中在mui.init方法中,要使用某项功能,只需要在mui.init方法中完成对应参数配置即可,目前支持在mui.init方法中配置的功能包括:创建子页面.关闭页面.手势事件配置.预加载.下拉刷新.上拉加载. 但是官方有又说法: 页面初始化:必须执行mui.init方法 mui在页面初始化时,初始化了很多参数配置,比如:按键监听.手势监听等,因此mui页面都必须调用一次mui.init()方法

  • 详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别

    目录 源码包编译实例 下载编译工具,httpd以及其两个依赖包的源码包 安装apr 安装apr-util 安装httpd 源码编译报错信息处理 init程序的三种风格 init程序三种风格的特点 源码包编译实例 下面通过编译安装httpd来深入理解源码包安装(httpd-2.4.54) 下载编译工具,httpd以及其两个依赖包的源码包 //源码包建议到官方网站下载 [root@lnh ~]# mkdir xbz [root@lnh ~]# cd xbz/ [root@lnh xbz]# dnf

  • 浅谈spring和spring MVC的区别与关系

    spring是一个开源框架,功能主要是依赖注入和控制反转. 依赖注入有三种形式 1.构造注入(bytype) 2.setter注入 3.接口注入(byname) 而控制反转则主要是起到操控作用,把对象的创建,初始化,销毁交给spring容器来处理.面向切面(把功能分离出来)实现共用. spring MVC类似于struts是负责前台和后台的交互,还有就是spring可以集成许多工具,像数据库配置,缓存配置,定时器配置等等都是在spring中完成的,而spring MVC是做不到的. 以上这篇浅谈

  • 详谈jvm--Java中init和clinit的区别

    init和clinit区别 ①init和clinit方法执行时机不同 init是对象构造器方法,也就是说在程序执行 new 一个对象调用该对象类的 constructor 方法时才会执行init方法,而clinit是类构造器方法,也就是在jvm进行类加载-–验证--解析-–初始化,中的初始化阶段jvm会调用clinit方法. ②init和clinit方法执行目的不同 init is the (or one of the) constructor(s) for the instance, and

  • Oracle中的Connect/session和process的区别及关系介绍

    Session:在计算机中,尤其是在网络应用中,称为"会话". Session:在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间. Connect.session.process的区别: 一个数据库的Connect可以有一个或多个session,同时connect也可以有一个或多个process. 在专业服务器连接方式中,一个session对应一个process,在共享服务器方式中,一个process可以

  • UTF-8 GBK UTF8 GB2312 之间的区别和关系介绍

    UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强.UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示.如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包. GBK是国家标准GB2312基础上扩容后兼容GB2312的标准.GBK的文字编码是用双字节来表示的,即不论中.英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1.GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBD大. GBK

  • 理清apply(),call()的区别和关系

    如果在学JavaScript这自由而变幻无穷的语言过程中遇到这种感觉,那么就从现在形始,请放下的您的"偏见",因为这对您来说绝对是一片新大陆,让JavaScrip慢慢融化以前一套凝固的编程意识,注入新的生机! 好,言归正传,先理解JavaScrtipt动态变换运行时上下文特性,这种特性主要就体现在apply, call两个方法的运用上. 区分apply,call就一句话, 复制代码 代码如下: foo.call(this, arg1,arg2,arg3) == foo.apply(th

  • vue购物车插件编写代码

    本文实例为大家分享了vue购物车插件的具体代码,供大家参考,具体内容如下 先上效果图 下面相关代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Hello MUI</title> <meta name="viewport" content="width=device-width, initial-sca

  • mui上拉加载更多下拉刷新数据的封装过程

    辗转用mui做了两个项目,空下来把mui上拉加载更多,下拉刷新数据做了一个简单的封装,希望可以帮助到需要的朋友 demo项目的结构 直接贴代码了 index.html mui上拉刷新下拉加载都这里了,两个方法搞定 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device

  • MUI 上拉刷新/下拉加载功能实例代码

    新闻信息列表必备的功能,支持Table,Ul等列表. 以下是DIV版本,在安卓端或者ios端必须使用双webview模式,传送门:http://dev.dcloud.net.cn/mui/pulldown/ <!--下拉刷新容器--> <div id="pullrefresh" class="mui-content mui-scroll-wrapper"> <div class="mui-scroll"> &l

随机推荐