我们在做项目的时候可能会出现引入angular之后,轮播图不会出现自动轮播的问题,这个时候我们要做的有两点:
第一点,我们可以将轮播图的JS代码放在获取到数据之后,而没必要单独写一个轮播图的JS脚本引入进去。
第二点,就是一定要加上observer这个属性,并设置为true。该属性的作用为:启动动态检查器(OB/观众/观看者),当改变swiper的样式(例如隐藏/显示)或者修改swiper的子元素时,自动初始化swiper。
做到这两点,基本上就没有什么大问题了,最后上代码:
angular.module("myApp")
.controller("homeController",[
"$scope","homeService","$state",
function ($scope,homeService,$state) {
$scope.slides = [];
$scope.menus = [];
homeService.getItems().success(function (res) {
//console.log(res.data.menu);
//轮播图数据
$scope.slides = res.data.slide;
var mySwiper = new Swiper ('.swiper-container', {
direction: 'horizontal',
loop: true,
observer:true,
autoplay : 2000,
//autoplayDisableOnInteraction : false,
// 如果需要分页器
pagination: '.swiper-pagination',
paginationClickable :true
});
$scope.menus = res.data.menu;
});
}])