第一条页面应用案例
使用微信小程序swiper轮播图组件搭配PbootCMS后台制作轮播图效果
首先头部引入API组件
const api = require('../../utils/api.js'); //路径根据自己的实际情况调整
使用let方法,让that只作用在次块级作用域中
onLoad: function (options) {
let that = this; // 缺少无效果
let gid = 1; // 定义轮播图编号
let num = 10; // 定义轮播图数量
api.getSlide(gid, num).then(function (slide) {
// 通过setData把获取到的数据赋值到页面初始数据的data对象,这样就可以在wxml中使用数据了。
that.setData({
getSlide: slide.data,
})
// 把获取的数据输出到控制台看看
// console.log(slide.data);
})
},
使用了官方推荐的轮播图功能组件 swiper组件手册
<view class='banner'>
<swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
<block wx:for="{{getSlide}}" wx:key="">
<swiper-item>
<image src="http://域名{{item.pic}}" class="slide-image" width="375"/>
</swiper-item>
</block>
</swiper>
</view>
此处使用了微信小程序中的 数据绑定
data: {
// banner轮播组件属性
indicatorDots: true, // 是否显示面板指示点
autoplay: true, // 是否自动切换
interval: 3000, // 自动切换时间间隔
duration: 800, // 滑动动画时长
},
使用官方推荐的 rpx 尺寸单位,将轮播图图片设置为高 300rpx
.slide-image {
width: 100%;
height: 300rpx;
}
在编写swiper循环时,使用官方的<block wx:for="{{get_slide}}">
会报错
只需要加上空 wx:key=""
,或者是 wx:key="this"
就可以,例如:<block wx:for="{{get_slide}}" wx:key="">
在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。
默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item
<view wx:for="{{array}}">
{{index}}: {{item.message}}
</view>