ionic repeat 重复最后一个时要执行某个函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ionic repeat 重复最后一个时要执行某个函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1755字,纯文字阅读大概需要3分钟。
内容图文
在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)
原文:http://www.cnblogs.com/tiantianxiangshang33/p/5905019.html
内容总结
以上是互联网集市为您收集整理的ionic repeat 重复最后一个时要执行某个函数全部内容,希望文章能够帮你解决ionic repeat 重复最后一个时要执行某个函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。