黑马微信小程序-实现本地服务九宫格并展示商品列表

一、九宫格实现

1.获取数据

1.1准备接口

黑马接口:https://applet-base-api-t.itheima.net/categories

说明:这是获取九宫格的数据接口

1.2使用接口

 说明:声明变量获取数据。

  getGridList() {wx.request({url: 'https://applet-base-api-t.itheima.net/categories',method: "GET",success: (res) => {this.setData({gridList:res.data// 服务器拿到数据并保存})}})},

 res.data数据

2.静态页面

<view class="grid-list">
//绑定gridList数据
<navigator class="grid-item" wx:for="{{gridList}}"
//导航动态传参
url="/pages/shoplist/shoplist?id={{item.id}}&title={{item.name}}"wx:key="id">
//显示图片
<image src="{{item.icon}}" mode=""/>
//显示图片名称
<text>{{item.name}}</text>
</navigator>
</view>

编写简单css

/* pages/home/home.wxss */
swiper {height: 350rpx;
}swiper image {width: 100%;height: 100%;
}.grid-list {display: flex;flex-wrap: wrap;
}.grid-list .grid-item {width: 33%;height: 200rpx;display: flex;flex-direction: column;align-items: center;justify-content: center;border-right: 1px solid #efefef;border-bottom: 1px solid #efefef;
}.grid-item image {width: 60rpx;height: 60rpx;
}.grid-item text {font-size: 24rpx;margin: 10px 0;
}

实图展示 

 

 

3.存储参数

声明query变量 

并设置导航标题

  onReady() {wx.setNavigationBarTitle({title: this.data.query.title,})},

标题展示 

 

 

二、商品列表展示

2.获取数据

2.1准备接口

商品列表接口:https://applet-base-api-t.itheima.net/categories/:id/shops

 说明::id表示动态的参数

2.2使用接口

  getShopList() {wx.request({url: `https://applet-base-api-t.itheima.net/categories/${this.data.query.id}/shops`,method:'GET',data:{_page:this.data.page,_limit:this.data.pageSize},success:(res)=>{console.log(res);this.setData({//其实我觉得解构服务器的数据保存起来就可以了,不知道为什么还要把说明在data的数据解构加
//起来!shopList:[...this.data.shopList,...res.data],
//+是将字符串转成数值型total:+res.header["X-Total-Count"]})}})},

当页面加载,就调用函数

  onLoad(options) {this.setData({// 保存传递的参数query: options}),// 当页面加载完成后,调用方法this.getShopList()}

res数据展示

 3.静态展示

<!-- wx:key为什么不用解构语法是因为微信小程序自动解构出来了,可以直接使用;item也是微信小程序默认解构出来变量 -->
<view class="shop-item" wx:for="{{shopList}}" wx:key="id">
<view class="thumb">
<image src="{{item.images[1]}}" mode=""/>
</view>
<view class="info">
<text class="shop-title">{{item.name}}</text>
<text>{{item.phone}}</text>
<text>{{item.address}}</text>
<text>{{item.businessHours}}</text>
</view>
</view>

 加入简单css

.shop-item{display: flex;padding: 15rpx;border: 1rpx solid #efefef;margin: 15rpx;border-radius: 8rpx;box-shadow: 1rpx 1rpx 15rpx #ddd;
}
.thumb image{width: 250rpx;height: 205rpx;display: block;margin-right: 15rpx;
}
.info{display: flex;flex-direction: column;justify-content: space-around;font-size: 24rpx;
}
.shop-title{font-weight: bold;
}

 4.实图展示

 三.、部分源码展示

3.home文件夹

3.1home.wxml

<!--pages/home/home.wxml-->
<!-- 轮播图区域 -->
<swiper indicator-dots circular><swiper-item wx:for="{{swiperList}}" wx:key="id"><image src="{{item.image}}" mode="" /></swiper-item>
</swiper>
<!-- 九宫格容器 -->
<view class="grid-list">
<navigator class="grid-item" wx:for="{{gridList}}"
url="/pages/shoplist/shoplist?id={{item.id}}&title={{item.name}}"wx:key="id">
<image src="{{item.icon}}" mode=""/>
<text>{{item.name}}</text>
</navigator>
</view>
<!--图片区域  -->
<view class="img-box">
<image src="" mode=""/>
</view>

3.2home.js

// pages/home/home.js
Page({/*** 页面的初始数据*/data: {// 轮播图的数据swiperList: [],// 获取九宫格的数据gridList: []},getGridList() {wx.request({url: 'https://applet-base-api-t.itheima.net/categories',method: "GET",success: (res) => {this.setData({gridList:res.data})}})},getSwiperList() {wx.request({url: 'https://applet-base-api-t.itheima.net/slides',method: 'GET',success: (res) => {this.setData({swiperList: res.data})},})},// 发起get请求// getInfo() {//   wx.request({//     url: 'https://applet-base-api-t.itheima.net/api/get',//     method: "GET",//     data: {//       name1: "zs",//       age: 20//     },//     success: (res) => {//       console.log(res.data);//     }//   })// },// postInfo(){//   wx.request({//     url: 'https://applet-base-api-t.itheima.net/api/post',//     method:'POST',//     data:{//       name:"ls",//       age:33//     },//     success:(res)=>{// console.log(res.data);//     }//   })// },/*** 生命周期函数--监听页面加载*/onLoad(options) {// this.getInfo()// this.postInfo()this.getSwiperList(),this.getGridList()},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}
})

 4.shoplist文件夹

4.1shplist.wxml

<!--pages/shoplist/shoplist.wxml-->
<!-- wx:key为什么不用解构语法是因为微信小程序自动解构出来了,可以直接使用;item也是微信小程序默认解构出来变量 -->
<view class="shop-item" wx:for="{{shopList}}" wx:key="id">
<view class="thumb">
<image src="{{item.images[1]}}" mode=""/>
</view>
<view class="info">
<text class="shop-title">{{item.name}}</text>
<text>{{item.phone}}</text>
<text>{{item.address}}</text>
<text>{{item.businessHours}}</text>
</view>
</view>

4.2shoplist.js

// pages/shoplist/shoplist.js
Page({/*** 页面的初始数据*/data: {query: "",shopList: [],//页数page: 1,//展示数据的条数pageSize: 10,total:0},getShopList() {wx.request({url: `https://applet-base-api-t.itheima.net/categories/${this.data.query.id}/shops`,method:'GET',data:{_page:this.data.page,_limit:this.data.pageSize},success:(res)=>{console.log(res);this.setData({shopList:[...this.data.shopList,...res.data],total:+res.header["X-Total-Count"]})}})},/*** 生命周期函数--监听页面加载*/onLoad(options) {this.setData({// 保存传递的参数query: options}),// 当页面加载完成后,调用方法this.getShopList()},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {wx.setNavigationBarTitle({title: this.data.query.title,})},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1791.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ECS云服务器U实例评测,可以免费体验哦

目录 一、ECS云服务器U实例介绍 话题一、U实例使用体感如何&#xff0c;是否和主售型实例有区别&#xff0c;具体体现在哪里&#xff1f; 话题二、结合相关数据材料&#xff0c;对您感兴趣的场景 话题三、使用u实例是否为您的云上业务或者测试项目提供了帮助支持&#xff1…

Qgis加载在线XYZ瓦片影像服务的实践操作

目录 背景 一、XYZ瓦片相关知识 1、xyz瓦片金字塔 2、 瓦片编号 3、瓦片访问 二、在Qgis中加载在线地图 1、Qgis版本 2、瓦片加载 3、地图属性预览 总结 背景 在做电子地图应用的时候&#xff0c;很常见的会提到瓦片&#xff08;tile&#xff09;的概念&#xff0c;瓦片…

Redis系列 | 分类树查询功能如何从2s优化到0.1s

大家好&#xff0c;今天我们继续来分享一个在项目开发过程中遇到的实际问题&#xff0c;这里也来梳理并总结一下我们是如何对它进行持续优化的&#xff0c;希望能对大家有所帮助。 分类树查询功能&#xff0c;在各个业务系统中可以说随处可见&#xff0c;特别是在一些电商系统中…

国产chatgpt:基于chatGLM微调nlp分类任务

文章目录 一、源码网址1. 硬件设施&#xff1a;2. INT4 量化示例 二、重要的开源社区功能&#xff1a;网址&#xff1a;使用方法&#xff1a;利用方法&#xff1a;对 NLP 工作者的作用&#xff1a;对大模型工程师的用处&#xff1a; 三、重要的开源库四、提示词工程五、进行分类…

线性代数笔记整理

文章目录 1 行列式2 矩阵&#xff08;本质是数表&#xff09;3 方程组的解4 向量5 矩阵的特征值和特征向量6 相似矩阵和相似对角化7 合同对角化8 二次型及其标准型 1 行列式 2 矩阵&#xff08;本质是数表&#xff09; 3 方程组的解 4 向量 5 矩阵的特征值和特征向量 6 相似矩阵…

从0到1精通自动化测试,pytest自动化测试框架,skip跳过用例(八)

一、前言 pytest.mark.skip可以标记无法在某些平台上运行的测试功能&#xff0c;或者希望自己失败的测试功能 skip意味着只有在满足某些条件时才希望测试通过&#xff0c;否则pytest应该跳过运行测试。 常见示例是在非Windows平台上跳过仅限Windows的测试&#xff0c;或跳过测…

pytorch搭建AlexNet网络实现花分类

pytorch搭建AlexNet网络实现花分类 一、AlexNet网络概述分析 二、数据集准备下载划分训练集和测试集 三、代码model.pytrain.pypredict.py 一、AlexNet网络 概述 使用Dropout的方式在网络正向传播过程中随机失活一部分神经元&#xff0c;以减少过拟合 分析 对其中的卷积层、…

MyCat01——如何实现MySQL中的主从复制

1 问题 数据对于我们来说是一项最重要的资产&#xff0c;因为数据丢失带来的损失&#xff0c;对于一家公司来说&#xff0c;有时也是毁灭性的。 那么如何确保数据安全&#xff0c;不因断电或系统故障带来数据丢失呢&#xff1f; 当用户增加&#xff0c;对数据库的访问量也随…

【Soft-prompt Tuning for Large Language Models to Evaluate Bias 论文略读】

Soft-prompt Tuning for Large Language Models to Evaluate Bias 论文略读 INFORMATIONAbstract1 Introduction2 Related work3 Methodology3.1 Experimental setup 4 Results5 Discussion & Conclusion总结A Fairness metricsB Hyperparmeter DetailsC DatasetsD Prompt …

【Java】JVM学习(七)

JVM调优 堆空间如何设置 在分代模型中&#xff0c;各分区的大小对GC的性能影响很大。如何将各分区调整到合适的大小&#xff0c;分析活跃数据的大小是很好的切入点。 活跃数据的大小&#xff1a;应用程序稳定运行时长期存活对象在堆中占用的空间大小&#xff0c;也就是Full …

拧螺丝需求:递归算法的极致应用

前言 在一个平平无奇的下午&#xff0c;接到一个需求&#xff0c;需要给公司的中台系统做一个json报文重组的功能。 因为公司的某些业务需要外部数据的支持&#xff0c;所以会采购一些其它公司的数据&#xff0c;而且为了保证业务的连续性&#xff0c;同一种数据会采购多方的数…

Qt QSqlQueryModel详解

背景知识&#xff1a; Qt SQL的API分为不同层&#xff1a; 驱动层 驱动层 对于QT是基于C来实现的框架&#xff0c;该层主要包括QSqlDriver、QSqlDriverCreator、QSqlDriverCreatorbase、QSqlDriverPlugin and QSqlResult。这一层提供了特定数据库和SQL API层之间的底层桥梁…