OnsenUI:Carousel不会更新方向更改

时间:2016-05-20 09:20:17

标签: carousel onsen-ui

我正在使用全屏OnsenUI轮播。问题是当我滑动/更改轮播项目然后更改方向或调整窗口大小时,它看起来不太好。这个问题也与官方的OnsenUI轮播示例有关。

enter image description here

这是我关注的代码:

do { ... } while (false)

This是来自OnsenUI网站的笔。

注意:我使用的是OnsenUI版本1.3.14

1 个答案:

答案 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中修复。

相关问题