我正在使用全屏OnsenUI轮播。问题是当我滑动/更改轮播项目然后更改方向或调整窗口大小时,它看起来不太好。这个问题也与官方的OnsenUI轮播示例有关。
这是我关注的代码:
do { ... } while (false)
This是来自OnsenUI网站的笔。
注意:我使用的是OnsenUI版本1.3.14
答案 0 :(得分:1)
由于项目大小的缓存值,似乎它的行为方式。修复需要一些内部Onsen轮播行为的黑客,但是Onsen 1的开发已经完成,所以做一些像这样的黑客应该是安全的。您需要在resize事件上执行以下操作来修复它:
var i = carousel._scroll / carousel._currentElementSize;
delete carousel._currentElementSize;
carousel.setActiveCarouselItemIndex(i);
这里有一个demo并且已应用此修复程序。
如果您正在使用角度,那么您只需使用var="carousel"
属性,就可以在控制器中使用carousel
。
如果你不喜欢角度,那么选择它有点棘手,但并非不可能:
var carousel = angular.element(document.getElementById('carousel')).data('ons-carousel');
希望这有帮助。
或者你可以切换到Onsen 2,在框架本身可以快速修复这些问题。
<强>更新强>
此错误已在Onsen 2中修复。