子页面为slider,父页面fire事件,子页面更新。
1、第1次完全正常,slider可以左右滚动,数据也正常。
2、back退回之后,再次点击,仍可进入,但slider无法左右滚动。
==> 解决办法:
1、每次解析数据之后,都有手工mui('#slider').slider()。这条肯定没有问题,否则第1次不会正常显示。
2、整个slider动态区域也是全部生成。
3、再次点击之后,左右滑动,目前看压根就没有触发slide事件。
而addevent这部分,即使手工再次添加也没用。实际我试了将slide换成tap,再次点击都是可以正常触发的,唯独slide没有任何反应。
gaus (作者)
工程耦合太多,正在拆。
之前跟了一下mui.js,第2次slider失效时,滑动时报错:Uncaught TypeError: Cannot read property '0' of undefined at js/mui.js:4531
这个行号不准,对应:return this.pages[slideNumber][0];
其前1行slideNumber跟到的值为1。
2016-04-04 12:23
BoredApe
第二次的时候刷新一下slider.
setTimeout(function(){
mui('#slider').slider().refresh()
},100);
2016-04-04 14:52
gaus (作者)
回复 BoredApe:刚刚看见回复,非常感谢!
1、DCloud这个问答系统做得太糟糕了,为啥不用传统的dz呢,这种评论的回复没有提示,另外查找问题也极其不方便!
2、按照你说的方法试了,时好是坏,最后发现,居然是mui.js版本问题,最新的一版可以,之前的一版不行,唉,整整浪费了几周时间。
3、目前仍有问题,就是第2次进入slider时,左右滑动正常,但是,滑动到新页面之后,必须先用手tap当前页面(内容区),顶部的nav才会自动滑动,同时当前页面区(内容)才会加载(显示),否则nav仍停留在之前,而页面区(内容)显示为空白。
2016-04-10 21:54
小权
回复 gaus: 遇到同样的问题,第一次正常,后面js动态更新slider里的html,再silder().refresh(),可以滑动,但是每次滑动后必须点一下mui-slider-item区域才会触发滑动事件。请问如何解决?
2019-06-30 14:26