如何在Angular Controller中访问ons-carousel变量?

时间:2015-11-17 11:18:05

标签: javascript angularjs onsen-ui

我想将一个eventhandler绑定到我的AngularJS控制器中的ons-carousel postchange事件,但是我一直得到一个未捕获的TypeError:无法读取属性' on'未定义的。

我尝试通过我的控制器的var属性访问我的轮播:

$scope.myCarousel.on('postchange', function() {
  // do something
});

我的轮播在我的观点中宣布:

<ons-carousel var="myCarousel" swipeable overscrollable auto-scroll>
...
</ons-carousel>

它有效,但是我无法访问变量myCarousel并且无法将事件绑定到它。我做错了什么?

2 个答案:

答案 0 :(得分:4)

我搜索了ons-carousel的文档,我可以通过在视图中向我的轮播添加ons-postchange="changeCurrentPictureIndex()"属性来解决这个问题,并且在我的changeCurrentPictureIndex方法中,我能够访问myCarousel变量。

答案 1 :(得分:0)

在访问Carousel变量之前使用ons.ready函数。因为一旦完成onsen初始化,你只能访问控制器中的变量。

ons.ready(function() {
    myCarousel.on('postchange', function(event) {
        //your code
    });
});