解决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 相关文章推荐
js查找父节点的简单方法
Jun 28 Javascript
ExtJS GTGrid 简单用户管理
Jul 01 Javascript
在JavaScript中重写jQuery对象的方法实例教程
Aug 25 Javascript
JavaScript中实现依赖注入的思路分享
Jan 15 Javascript
jQuery on()方法示例及jquery on()方法的优点
Aug 27 Javascript
使用CoffeeScrip优美方式编写javascript代码
Oct 28 Javascript
浅谈Vuex的状态管理(全家桶)
Nov 04 Javascript
使用use注册Vue全局组件和全局指令的方法
Mar 08 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
Sep 02 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
Mar 25 Javascript
原生JavaScript实现弹幕组件的示例代码
Oct 12 Javascript
JavaScript实现栈结构详细过程
Dec 06 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下对字符串的递增运算代码
2010/08/21 PHP
PHP的autoload自动加载机制使用说明
2010/12/28 PHP
PHP 时间日期操作实战
2011/08/26 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
YII框架模块化处理操作示例
2019/04/26 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
JavaScript Date对象 日期获取函数
2010/12/19 Javascript
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
使用jspdf生成pdf报表
2015/07/03 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
opencv 识别微信登录验证滑动块位置
2018/08/07 Javascript
python 创建弹出式菜单的实现代码
2017/07/11 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
flask入门之文件上传与邮件发送示例
2018/07/18 Python
树莓派安装OpenCV3完整过程的实现
2019/10/10 Python
python时间日期操作方法实例小结
2020/02/06 Python
pytorch实现seq2seq时对loss进行mask的方式
2020/02/18 Python
Python自带的IDE在哪里
2020/07/01 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
Omio美国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/08 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
环境工程专业个人求职信
2013/12/05 职场文书
致垒球运动员加油稿
2014/02/16 职场文书
企业消防安全责任书
2014/07/23 职场文书