ionic 图片轮播问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ionic 图片轮播问题相关的知识,希望对你有一定的参考价值。

1、使用ion-slide可以实现图片轮播,但是如果在html中仅仅增加ion-slide是远远不够的,会出现两个问题:

(注:使用的是angularjs。首先需要在,js文件中注入:$ionicSlideBoxDelegate)

一、有时候会出现图片无法加载出来。解决办法是:

在相应的controller文件增加 $ionicSlideBoxDelegate.update(); 

二、轮播至最后一个不轮播的问题,解决的办法是:

在相应的controller文件增加 $ionicSlideBoxDelegate.loop(true);

代码如下:

 1 function getMessageInface() {
 2              vm.condition = { //入参
 3                  "sysid": 1000,
 4                  "token": "sfiodfndsig"
 5              };
 6              Service.post(‘advertisement‘, ‘findEffectiveDataInfo‘, vm.condition).then(function(data) {
 7 
 8                  console.log(data)
 9                  vm.ADlists = data;
10                  angular.forEach(vm.ADlists, function(index) {
11                      // statements
12                      // console.log("循环增加imgurl");
13                      if (index.pic.indexOf("http") < 0) {
14                          index.pic = vm.imgUrl + index.pic;
15                          // console.log(index.pic)
16                      }
17                  });
18                  $ionicSlideBoxDelegate.loop(true); //解决轮播至最后一个不轮播的问题
19                  $ionicSlideBoxDelegate.update(); //解决图片加载不出来的问题
20              });
21 
22 
23          }

注入方式如下:


(function() {
angular.module(‘app‘).controller(‘goodsListCtrl‘, goodsListCtrl);
goodsListCtrl.$inject = [‘$scope‘, ‘$state‘, ‘Service‘, ‘$stateParams‘, ‘$localStorage‘, ‘$ionicSlideBoxDelegate‘, ‘$ionicPopup‘];


function goodsListCtrl($scope, $state, Service, $stateParams, $localStorage, $ionicSlideBoxDelegate, $ionicPopup) {
var vm = this;

……

……

}

})();

 

 

 三、使用$ionicSlideBoxDelegate.loop(true)会出现一个至今也没有想明白的问题:加载两张图片时会显示四张,也就是说会重复两张,其他的情况均是正常的。所以我最后的解决办法只能是根据官方文档实现手动轮播了……

 



以上是关于ionic 图片轮播问题的主要内容,如果未能解决你的问题,请参考以下文章

ionic3 图片(轮播)预览 ionic-gallary-modal组件使用方法

基于ionic框架封装一个图片轮播指令的几点

ionic轮播图,无限滚动

ionic3-ng4学习见闻--(轮播图完美方案)

解决ionic2/ionic3轮播图切换页面或者点击过后不自动轮图

小程序各种功能代码片段整理---持续更新