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,最好都加上。
推荐阅读
-
mui.init()与mui.plusReady()区别和关系
-
i5-9400F与i5-9600KF哪款值得买 i5 9600KF和9400F区别对比评测
-
R5 1500X和R5 1600哪个好?AMD锐龙5 1500X与1600区别对比评测
-
MySQL的视图和索引用法与区别详解
-
Oracle 存储过程定义和优点与函数区别
-
mysql中int、bigint、smallint 和 tinyint的区别与长度的含义
-
valkyrie destruction PHP中return 和 exit 、break和contiue 区别与用法
-
辛星与你彻底分析PHP中的include和require等的区别
-
Java中CyclicBarrier和CountDownLatch的用法与区别
-
华为手环b6和b5哪个值得入手 华为手环b6与b5的区别介绍