mui.init()与mui.ready()与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,最好都加上。

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

ready代表DomcontentLoaded

plusReady代表plus基座

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,209评论 25 709
  • MUI背景介绍 MUI是一套前端框架,由DCLOUD公司研发而成,提供大量H5和js语言组成的组件,大大提高了开发...
    jackzhouyu阅读 29,852评论 2 76
  • 活到老,学到老,或被动学习,或主动学习,学会正确有效的学习方法,是每个学习者一直在苦苦寻觅的,彼得·圣吉的《第五项...
    礼小礼er阅读 3,051评论 0 4
  • 大家有没有想过,如果自己的喜怒哀乐无法用文字去表达,那人生该多么的苍白和悲哀!时下刷爆了的朋友圈和空间动态不正说明...
    大禹爱小雨阅读 1,079评论 2 1
  • 历程万里尘风走送,浓思了却厚土沉沉。 乘风般的的速度,映着晨起的霞光,在时光碾转的下一刻,回访最初的相逢。源上世相...
    冯少阅读 2,425评论 0 1