解决Angular.js中使用Swiper插件不能滑动的问题


Posted in Javascript onFebruary 26, 2018

我们都知道swiper是交互体验十分好的轮播插件

但是通过angular(ng-repeat)循环出来的swiper不能轮播的解决方案

通常我们都是通过以下方法来执行:

html

<div class="swiper-container" ng-controller="swiperController">
 <div class="swiper-wrapper">
  <div class="swiper-slide" ng-repeat="informarion in imgSrcs">
   <img ng-src="{{informarion.sliderSrc}}" />
  </div>
 </div>
 <!-- Add Pagination -->
 <div class="swiper-pagination"></div>
 <!-- Add Arrows -->
</div>

js

var myapp=angular.module("myApp",[]);
 //轮播图的控制器
 myapp.controller("swiperController",function($scope,$http){
  //请求轮播图路径
  $http({
   method: 'post',
   url: 'json/myJson.json'
  }).then(function successCallback(response) {
   $scope.imgSrcs = response.data.sites;
  }, function errorCallback(response) {
   // 请求失败执行代码
  });
 });

可是还是不行,注意:如果是在json中获取数据,要把轮播js代码写在获取数据中,因为他是先获取数据才执行轮播的,如果你把他放在外部,实行轮播数据获取不到。

所以解决方案便是将swiper的初始化方法放到$http请求里面执行,

将如下代码加到function successCallback()方法里面即可实现轮播

var swiper = new Swiper('.swiper-container', {//重置轮播加载方法
    pagination: '.swiper-pagination',
    slidesPerView: 1,
    paginationClickable: true,
    spaceBetween: 30,
    keyboardControl: true,
    nextButton: '.swiper-button-next',
    prevButton: '.swiper-button-prev',
    observer:true,//修改swiper自己或子元素时,自动初始化swiper
    observeParents:true//修改swiper的父元素时,自动初始化swiper
   });

完整的js代码如下:

var myapp=angular.module("myApp",[]);
 //轮播图的控制器
 myapp.controller("swiperController",function($scope,$http){
  //请求轮播图路径
  $http({
   method: 'post',
   url: 'json/myJson.json'
  }).then(function successCallback(response) {
   $scope.imgSrcs = response.data.sites;
   var swiper = new Swiper('.swiper-container', {//重置轮播加载方法
    pagination: '.swiper-pagination',
    slidesPerView: 1,
    paginationClickable: true,
    spaceBetween: 30,
    keyboardControl: true,
    nextButton: '.swiper-button-next',
    prevButton: '.swiper-button-prev',
    observer:true,//修改swiper自己或子元素时,自动初始化swiper
    observeParents:true//修改swiper的父元素时,自动初始化swiper
   });
  }, function errorCallback(response) {
   // 请求失败执行代码
  });
 });

以上这篇解决Angular.js中使用Swiper插件不能滑动的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 在线压缩和格式化收藏
Jan 16 Javascript
用JS实现一个TreeMenu效果分享
Aug 28 Javascript
javascript之典型高阶函数应用介绍二
Jan 10 Javascript
详解js闭包
Sep 02 Javascript
JavaScript实现找出数组中最长的连续数字序列
Sep 03 Javascript
js实现将选中内容分享到新浪或腾讯微博
Dec 16 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
Apr 12 Javascript
如何提高Dom访问速度
Jan 05 Javascript
JavaScript中in和hasOwnProperty区别详解
Aug 04 Javascript
微信小程序非跳转式组件授权登录的方法示例
May 22 Javascript
微信小程序实现的picker多级联动功能示例
May 23 Javascript
three.js显示中文字体与tween应用详析
Jan 04 Javascript
Angular5中调用第三方js插件的方法
Feb 26 #Javascript
angular2中使用第三方js库的实例
Feb 26 #Javascript
vue 子组件向父组件传值方法
Feb 26 #Javascript
vue2 前端搜索实现示例
Feb 26 #Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
Feb 26 #Javascript
vue的全局提示框组件实例代码
Feb 26 #Javascript
Angular4 ElementRef的应用
Feb 26 #Javascript
You might like
PHP默认安装产生系统漏洞
2006/10/09 PHP
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
Windows2003 下 MySQL 数据库每天自动备份
2006/12/21 PHP
PHP 日,周,月点击排行统计
2012/01/11 PHP
php使用curl发送json格式数据实例
2013/12/17 PHP
基于PHP实现数据分页显示功能
2016/05/26 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
通过正则表达式获取url中参数的简单实现
2016/06/07 Javascript
js实现千分符和保留几位小数的简单实例
2016/08/01 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
Bootstrap输入框组件使用详解
2017/06/09 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
Angular4 中内置指令的基本用法
2017/07/31 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
angular的输入和输出的使用方法
2018/09/22 Javascript
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
2019/09/21 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
2019/09/27 Javascript
Python 查看文件的读写权限方法
2018/01/23 Python
安装python时MySQLdb报错的问题描述及解决方法
2018/03/20 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
Django之Mode的外键自关联和引用未定义的Model方法
2018/12/15 Python
django-初始配置(纯手写)详解
2019/07/30 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
2020/04/14 Python
python 基于opencv去除图片阴影
2021/01/26 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
美国专营婴幼儿用品的购物网站:buybuy BABY
2017/01/01 全球购物
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
单位门卫岗位职责
2013/12/20 职场文书
幼儿园元旦亲子活动方案
2014/02/17 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书