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

这篇具有很好参考价值的文章主要介绍了黑马微信小程序-实现本地服务九宫格并展示商品列表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、九宫格实现

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.实图展示

黑马微信小程序-实现本地服务九宫格并展示商品列表文章来源地址https://www.toymoban.com/news/detail-514223.html

 三.、部分源码展示

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() {

  }
})

到了这里,关于黑马微信小程序-实现本地服务九宫格并展示商品列表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序-轮播图-九宫格布局--【开发实战(第2版)】

    微信目录集链接在此: 详细解析黑马微信小程序视频–【思维导图知识范围】 难度★✰✰✰✰ 微信小程序开发实战(第2版)入门–【开发实战(第2版)】 ★★✰✰✰ 不会导入/打开小程序的看这里:参考 微信小程序开发实战(第2版)入门–【开发实战(第2版)】 用免费

    2024年02月08日
    浏览(45)
  • 微信小程序请求本地服务器测试成功

    在测试阶段,微信小程序是可以请求本地服务器的,这里有如下好处: 1.测试不需要经过网络,暂时可以不配置域名等,服务器也不用上线 2.可以看到小程序和服务器的打印,方便调试和找出问题 3.服务器不用频繁修改上架,更改非常方便 1.勾选上不检测域名: 2.修改请求网

    2024年02月10日
    浏览(72)
  • 微信小程序之本地网络服务器配置

    我们开发小程序的时候一般都会用到后台服务,为了调试方便都希望可以使用本地服务器来进行网络通讯,本篇就介绍一下该如何配置,其实非常简单: 1. 去你的小程序管理平台-开发管理-开发设置,添加网络中真实可用的https域名 ,比如https://www.baidu.com(但是不推荐用百度

    2024年02月11日
    浏览(57)
  • 微信小程序:实现微信小程序应用首页开发 (本地生活首页)

    小程序应用页面开发 1、创建项目并配置项目目录结构 创建项目我相信大家都会,不会的可以csdn搜索即可 这里我们需要对项目目录进行修改配置 在 app.json 文件中的 pages 数组中添加三个页面,如上图所示,然后我们将其他默认的两个进行删除,然后左侧目录 pages 文件夹中的

    2024年02月19日
    浏览(52)
  • 微信小程序连接本地服务器(在本地服务器上进行真机测试-微信开发者工具)

    最近做小程序,一直用的是本地服务器接口,在用真机测试的时候,发现动态数据并不能同步,研究了一下发现操作很简单 1.首先打开微信开发者工具,打开右上角的详情,点击本地设置,勾选下面的不校验合法域名 2.打开手机的热点,用电脑连接手机热点(保证在同一网络

    2024年02月11日
    浏览(64)
  • 微信小程序(二)微信小程序选择本地图片显示并预览(实现左右滑动)

    在微信小程序里面实现选择图片然后预览是一个非常普遍的功能,在我们上传图片文件的时候,都会选择本地的图片进行上传,在上传之前会查看一下自己上传的图片是否准确。所以要做到预览图片。 下面就实现一个简单的本地图片显示预览的功能~~ 1、创建页面 这里我直接

    2024年02月03日
    浏览(76)
  • 微信小程序黑马学习笔记

    在页面.js中定义数据到data对象 .wxxm文件中 {{info}} Mustache 语法的主要应用场景如下: 绑定内容 绑定属性(src=\\\"{{}}\\\") 不像vue3 :src=\\\"\\\") 运算(三元运算、算术运算等) {{age=18 ? ‘成年’ : ‘未成年’}} {{age*10}} 小程序中常用的事件 类型 绑定方式 事件描述 tap bindtap 或 bind:tap 手指触

    2024年02月19日
    浏览(41)
  • 黑马微信小程序学习笔记

    小程序和普通网页的区别 1、运行环境不同 网页运行在浏览器环境中 小程序运行在微信环境中 2、API不同 由于运行环境的不同,在小程序中无法调用DOM和BOM 的API(因为这两个API是浏览器暴露出来的,微信环境没有) 但是可以调用微信提供的定位、扫码、支付等API 3、开发模

    2024年02月03日
    浏览(57)
  • 本地搭建微信小程序或者公众号开发服务器的简单方法

    现在小程序开发需要购买服务器,价格还是有点贵的,这里好代码网分享一个可以花费小代价就可以搭建一个本地服务器,可以用来开发小程序和微信公众号等。 1.域名(备案过的) 2.阿里云注册免费的https证书 3.配置本地的nginx 4.内网映射(本地安装wampserver 服务器) 一、域

    2024年02月02日
    浏览(65)
  • 微信小程序学习笔记--商城案例(黑马教程)

    相当于转载黑马教程的教程,原文地址(https://www.escook.cn/docs-uni-shop/) 基于uniapp开发,官网地址(https://uniapp.dcloud.net.cn/) 下载Hbuilder开发工具, 安装sass编译插件, 新建,项目,基于uni-ui模板,生成的项目。 一个 uni-app 项目,默认包含如下目录及文件: 填写微信小程序AppID:m

    2024年02月09日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包