码迷,mamicode.com
首页 > 其他好文 > 详细

ionic repeat 重复最后一个时要执行某个函数

时间:2016-09-25 10:43:02      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

在DOM里ng-repeat那个重复的标签上写ng-init="$last?lastAction($index):‘‘",用三目表达式来判断是不是最后一个,是最后一个就去执行lastAction()函数。

$scope.lastAction = function(index){

  console.log(index+" is the last one.....")

}

当采用ionic ion-slide-box时,当前的slide box上有一部分内容也要进行滚动,比如banner,滚动banner时肯定会触发整个页面的滚动,为了达到滚动banner而不带动整个页面的滚动的目的,可以这样来操作

$timeout(function(){
        
        document.getElementById(‘banners‘).addEventListener(‘touchstart‘,function(){
            //console.log(‘touch start.....‘)
            $ionicSlideBoxDelegate.$getByHandle(‘home-box‘).enableSlide(false);
        });
        document.getElementById(‘banners‘).addEventListener(‘touchend‘,function(){
            //console.log(‘touch end.....‘)
            $ionicSlideBoxDelegate.$getByHandle(‘home-box‘).enableSlide(true);
        });
        document.getElementById(‘banners‘).addEventListener(‘touchcancel‘,function(){
            //console.log(‘touch cancel.....‘)
            $ionicSlideBoxDelegate.$getByHandle(‘home-box‘).enableSlide(true);
        });
        
    },500)

所有的数据都是通过异步获取的,所以通过$timeout()来包裹这些事件。当touch banner部分内容区时,禁止整个页面的滚动,当touch结束时,开启整个页面的滚动。还有一个问题要注意,如果是多个同类名的小滚动区域也要实现该功能,如果只是将上面的id名改成classname,是会报错的。

用上述原生js写的话,需要使用for循环遍历;若是用jQuery,就只需要获取类名

$timeout(function(){
        var columnList = document.getElementsByClassName("column-list");
        for(var i=0;i<columnList.length;i++){
            columnList[i].addEventListener(‘touchstart‘,function(){
                console.log("start....")
                $ionicSlideBoxDelegate.$getByHandle(‘home-box‘).enableSlide(false);
            });
        }
//        $(".column-list").on(‘touchstart‘,function(){
//            console.log("start....")
//        $ionicSlideBoxDelegate.$getByHandle(‘home-box‘).enableSlide(false);
//        });
        $(".column-list").on(‘touchend touchcancel‘,function(){
            console.log(‘touch end.....‘)
            $ionicSlideBoxDelegate.$getByHandle(‘home-box‘).enableSlide(true);
        });
        },500)

 

ionic repeat 重复最后一个时要执行某个函数

标签:

原文地址:http://www.cnblogs.com/tiantianxiangshang33/p/5905019.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!