我想将一个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并且无法将事件绑定到它。我做错了什么?
答案 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
});
});