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

转自:https://www.jianshu.com/p/6aa790c07131html

 

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

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

可是官方有又说法:web

页面初始化:必须执行mui.init方法

mui在页面初始化时,初始化了不少参数配置,好比:按键监听、手势监听等,所以mui页面都必须调用一次mui.init()方法;api

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

我的认为:

1.每一个用到mui的页面都调用下mui.init。app

2.若是须要使用大H5+对象,就写到plusReady中,如plus对象。框架

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

首先请注意一点,若是不是作app开发(非hbuilder基座运行),作web开发的话(在浏览器运行html),plusReady是没有意义的,不会执行,为何?性能

不管作wap网页,仍是app开发,只要须要用到mui框架,都须要mui.init初始化框架功能,而plusready仅仅在app开发中使用ui

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,最好都加上。

mui.ready()和mui.plusReady这二者到底什么关系

ready表明DomcontentLoaded

plusReady表明plus基座

能够这样理解:ready是在PC和移动端都能运行,plusReady仅仅在移动端运行;

做者:Cherry丶小丸子 连接:https://www.jianshu.com/p/6aa790c07131 来源:简书 简书著做权归做者全部,任何形式的转载都请联系做者得到受权并注明出处。
相关文章
相关标签/搜索