简述:当我们点击一个页面要向iOS原生一样动画过渡到下一个页面,mui的方式是打开子页面。
注意:重点说一下我遇到的问题打开子页面mui会创建一个新的webView,当你执行mui.back()这个页面会被销毁,如果你的页面是复用页面,也就是说这个页面已经存在了没有销毁,mui的做法是找到这个页面显示出来,但是不会走mui的初始化方法了这样当你把数据请求放到mui.plusReady()下次进不会被调用,两种解决方法这篇我只说我用的第一种方法,第二种是自定义事件与预加载详细讲解。
mui.openWindow({
url: '../../mine.html',//打开的页面
id: 'index',//页面的唯一id
styles: {
top: '0px',//距顶部的距离,有导航栏设置成48px
bottom: '0px',//距底部的距离,顶部设置成非0px这个一定要设置不然下面显示不全被遮挡
},
extras: {
//自定义传递的参数,当页面第一次被创建的时候起作用,如果页面存在不起作用
},
createNew: true,//是否时时创建新的webView,默认是复用有就不创建了,没有创建
show: {
autoShow: true,//是否自动执行load方法
aniShow: 'slide-in-right',//过渡动画样式
},
waiting: {
autoShow: true,//是否自动隐藏菊花
title: '加载中...',//菊花显示文字
options: {
}
}
解决mui.plusReady()不走问题:
show: {
autoShow: true,//是否自动执行load方法
}
在我们打开子页面的时候autoShow设置成true让它每次都创建,然后我们要做的是在我们打开页面之前判断这个id的webView是否存在如果存在我们关闭一个,这样就能保证每次都存在唯一id的webView;