【微信小程序】动态API+swiper组件实现轮播图+es6的promise

  1. 获取轮播图数据
    接口:https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata

pages/index/index.js

Page({
data: {
// 轮播图数组
swiperList: []
},

onLoad: function (options) {
// 发送异步请求获取轮播图数据
wx.request({
url: ‘https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata’,
success: (result) => {
this.setData({
swiperList: result.data.message
})
}
});
},

});

  1. 加载轮播图数据
    使用swiper组件实现轮播图

微信小程序官方文档:scroll-view组件

pages/index/index.wxml

问题:
① swiper标签存在默认宽度和高度 100% * 150px
② image标签也存在默认宽度和高度 320px * 240px
解决:
① 先看一下原图的宽高 750px * 340px
② 让图片的高度自适应,宽度等于100%
③ 让swiper标签的宽高变成与图片的宽高一样
④ image标签 mode属性 渲染模式
让image标签的宽高和图片的宽高等比例变化 mode=“widthFix”

pages/index/index.less

.index_swiper {
swiper {
width: 750rpx;
height: 340rpx;
image {
width: 100%;
}
}
}

pages/index/index.wxss

.index_swiper swiper {
width: 750rpx;
height: 340rpx;
}
.index_swiper swiper image {
width: 100%;
}

  1. 发送请求代码的优化
    问题:发送请求成功后再发送多次请求
    解决:将原生请求修改为es6的promise
    request/index.js

export const request = (params) => {
return new Promise((resolve, reject) => {
wx.request({
…params,
success:(result)=>{
resolve(result);
},
fail:(err)=>{
reject(err);
}
});
})
}

引入用来发送请求的方法:import { } from “module”;
“module” 路径一定要补全 “…/…/request/request.js”
pages/index/index.js

// 引入用来发送请求的方法
import { request } from “…/…/request/request.js”;

Page({
data: {
// 轮播图数组
swiperList: []
},

onLoad: function(options) {
this.getSwiperList();
},

// 获取轮播图数据
getSwiperList() {
request({
url: “https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata”
}).then(result => {
this.setData({
swiperList: result.data.message
})
})
},

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值