位置: IT常识 - 正文

【小程序项目开发 -- 京东商城】uni-app 商品分类页面(上)(微信小程序开发完整项目)

编辑:rootadmin
【小程序项目开发 -- 京东商城】uni-app 商品分类页面(上)

推荐整理分享【小程序项目开发 -- 京东商城】uni-app 商品分类页面(上)(微信小程序开发完整项目),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:小程序怎么启动项目,微信小程序开发项目,小程序开发项目,小程序开发项目,小程序 项目,微信小程序开发完整项目,微信小程序项目开发实战,小程序开发项目,内容如对您有帮助,希望把文章链接给更多的朋友!

🤵‍♂️ 个人主页: @计算机魔术师 👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。

🌐 推荐一款找工作神器网站: 点击跳转牛客网 |笔试题库|面试经验|实习招聘内推|

还没有账户的小伙伴 速速点击链接登录注册把!🎉🎉

该文章收录专栏 ✨ 2022微信小程序京东商城实战 ✨

文章目录一、新建cate分支(选读*)二、添加编译模式三、渲染页面基本结构三、API获取手机型号等数据四、美化item项五、获取分类页面数据5.1 接口数据样式六、动态渲染一级分类页面结构文章目录一、新建cate分支(选读*)二、添加编译模式三、渲染页面基本结构三、API获取手机型号等数据四、美化item项五、获取分类页面数据5.1 接口数据样式六、动态渲染一级分类页面结构一、新建cate分支(选读*)

之所以为了创建分支,也是养成良好的项目开发习惯,这样在开放项目井井有条 也可以跳过本节内容,不影响阅读观感🌹

在根目录下,右键打开bash 基于 master 分支在本地创建 cate 子分支,用来开发和 cate 相关的功能:

创建新分支cate且跳转到该分支git checkout -b cate

查看分支(前面有*代表着当前分支)

git branch

二、添加编译模式【小程序项目开发 -- 京东商城】uni-app 商品分类页面(上)(微信小程序开发完整项目)

由于我们要开发的是cate 页面,所以我们将小程序编译模式修改启动页面 在cate,这样就不用每次都需要点击跳转了

三、渲染页面基本结构生成基本的滑动页面结构<template> <view> <!-- 包裹容器 --> <view class="scroll-view-container"> <!-- 左侧container --> <scroll-view class="scroll-view-left" scroll-y="true" style="height: 300px;"> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> </scroll-view> <!-- 右侧container --> <scroll-view scroll-y="true" class="scroll-view-right" style="height: 300px;"> <view></view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> <view>xxx</view> </scroll-view> </view> </view></template><style lang="scss"> .scroll-view-container { display: flex; } .scroll-view-left { width: 200rpx; } .scroll-view-right {}</style>

效果:

三、API获取手机型号等数据我们需要将整个scroll-view 的高度和手机屏幕高度一样,我们可以调用APIuni.getSystemSync(),得到该手机设备的信息(如手机型号,可用高度) 注意:是可使用的窗口高度,而不是屏幕高度(不包括navigationbar和tarbar)

在onLoad()生命周期函数调用API ,并在data节点定义数据,将可用窗口高度对其赋值给windowHeight

<script> export default { data() { return { //当前设备可用高度 windowHeight: '' }; }, onLoad() { const { windowHeight: infoSys } = uni.getSystemInfoSync() this.windowHeight = infoSys } }

标签样式动态绑定

:style="{height: windowHeight + 'px'}"

效果:

四、美化item项方法一(不建议):

为每一个item项加上类选择器 鼠标选择标签,CTRL + D选择全部(新版本是CTRL + E),如 在对该类选择器 修改样式

方法二(建议) 使用后代选择器,在.scroll-view-right view{} 修改样式

添加激活项样式&.active(用于配置选中时的样式)

样式

.scroll-view-left view { text-align: center; line-height: 120rpx; background-color: lemonchiffon; font-size: 12px; // 激活项样式 后代选择器覆盖类选择器 // &选择器覆盖 所在选择器 &.active { background-color: lawngreen; // 相对定位 不改变文档布局移动 position: relative; // 设置第一个元素 &::before { // 内容为 一个空格 content: ' '; // 块级元素 display: block; background-color: #a00000; height: 60rpx; width: 6rpx; // 绝对定位 移出正常文档流 position: absolute; // 最左侧 top: 25%; left: 0; } } } .scroll-view-right view{ text-align: center; line-height: 80rpx; background-color: aquamarine; }

激活项

<view class="active">xxx</view>

效果:

五、获取分类页面数据data定义数据<script> export default { data() { return { //当前设备可用高度 windowHeight: '', // 分类页数据 cateList: [] }; }, ```onLoad生命周期函数调用 函数获取数据...onLoad() { // 调取手机高度数据 const { windowHeight: infoSys } = uni.getSystemInfoSync() this.windowHeight = infoSys // 调取分类数据 this.getCateList() }, ...method定义 获取函数 ... methods: { // 获取分类数据 async getCateList() { // async 异步不能使用箭头函数 const {data:res} = await uni.$http.get('/api/public/v1/categories') // 判断是否赋值成功 if (res.meta.status != 200) return uni.$showMsg() // 赋值 this.cateList = res.message } } }</script>

获取成功

5.1 接口数据样式{ "message": [ { "cat_id": 1, "cat_name": "大家电", "cat_pid": 0, "cat_level": 0, "cat_deleted": false, "cat_icon": "", "children": [ { "cat_id": 3, "cat_name": "电视", "cat_pid": 1, "cat_level": 1, "cat_deleted": false, "cat_icon": "", "children": [ { "cat_id": 5, "cat_name": "曲面电视", "cat_pid": 3, "cat_level": 2, "cat_deleted": false, "cat_icon": "full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg" }] } ] } ], "meta": { "msg": "获取成功", "status": 200 }}六、动态渲染一级分类页面结构

激活项active实现思路:

在data节点定义数据active,对分类动态循环生成的索引与之比较,相同则在对应索引加上类active,并对分类点击帮绑定事件处理函数并对其传索引参数,动态修改active,如下

方法一: 组件传参<template> <view> <!-- 包裹容器 --> <view class="scroll-view-container"> <!-- 左侧container --> <scroll-view class="scroll-view-left" scroll-y="true" :style="{height: windowHeight + 'px'}"> <!-- 判断是否选中-active --> <block v-for="(item,index) in cateList" v-bind:key="index"> <!-- 传参方法一 --> <view v-bind:class="(active === index ?'active' : '')" v-on:click="activeTap" :data-active=index>{{item.cat_name}}</view> </block> </scroll-view> <!-- 右侧container --> <scroll-view scroll-y="true" class="scroll-view-right" :style="{height: windowHeight + 'px'}"> <view>xxx</view> </scroll-view> </view> </view></template>//函数// 触击事件绑定 activeTap(options){ this.active = options.target.dataset.active },方法二: 注意:绑定函数直接传参,这在原生小程序是不允许的,原生小程序中会把整体当成函数 <template> <view> <!-- 包裹容器 --> <view class="scroll-view-container"> <!-- 左侧container --> <scroll-view class="scroll-view-left" scroll-y="true" :style="{height: windowHeight + 'px'}"> <!-- 判断是否选中-active --> <block v-for="(item,index) in cateList" v-bind:key="index"> <!-- 传参方法二 函数直接传参 这在原生小程序是不可以的 --> <!-- <view v-bind:class="(active === index ?'active' : '')" v-on:click="activeTap(index)" >{{item.cat_name}}</view> --> </block> </scroll-view> <!-- 右侧container --> <scroll-view scroll-y="true" class="scroll-view-right" :style="{height: windowHeight + 'px'}"> <view>xxx</view> </scroll-view> </view> </view> </template>// 函数// 触击事件绑定 activeTap(options){ // this.active = options.target.dataset.active this.active = options },

效果:

✨谢谢你的阅读,您的点赞和收藏就是我创造的最大动力!✨
本文链接地址:https://www.jiuchutong.com/zhishi/290834.html 转载请保留说明!

上一篇:鸟瞰皮纳图博火山湖和山脉,菲律宾波拉克 (© Amazing Aerial Agency/Offset by Shutterstock)(bestars皮纳)

下一篇:vue安装及环境配置(怎么安装vue环境)

  • 快手怎么设置听歌模式(快手怎么设置听筒播放)

    快手怎么设置听歌模式(快手怎么设置听筒播放)

  • 微信自动扣款在哪里关闭(如何取消微信自动扣款功能)

    微信自动扣款在哪里关闭(如何取消微信自动扣款功能)

  • 当前用户并发数已满什么意思(并发用户数和并发数)

    当前用户并发数已满什么意思(并发用户数和并发数)

  • 快手小店找不到了怎么回事(快手小店找不到基本工具)

    快手小店找不到了怎么回事(快手小店找不到基本工具)

  • 黄钻隐身访问相册会有记录吗(黄钻隐身访问相册)

    黄钻隐身访问相册会有记录吗(黄钻隐身访问相册)

  • 荣耀v30pro耳机孔在哪里(荣耀v30pro耳机插孔)

    荣耀v30pro耳机孔在哪里(荣耀v30pro耳机插孔)

  • 为什么wps软件一直闪退(为什么wps软件一直加载)

    为什么wps软件一直闪退(为什么wps软件一直加载)

  • olt注册失败上不了网(olt注册状态未注册)

    olt注册失败上不了网(olt注册状态未注册)

  • 手机不能全屏播放视频怎么回事(手机不能全屏播放怎么办)

    手机不能全屏播放视频怎么回事(手机不能全屏播放怎么办)

  • 网易云直播粉团怎么掉了(网易云粉团是什么意思)

    网易云直播粉团怎么掉了(网易云粉团是什么意思)

  • ipad腾讯会议共享屏幕播放视频没声音(ipad腾讯会议共享ppt)

    ipad腾讯会议共享屏幕播放视频没声音(ipad腾讯会议共享ppt)

  • 电脑的网线是连在猫上还是路由器上(电脑的网线是连接的光猫吗)

    电脑的网线是连在猫上还是路由器上(电脑的网线是连接的光猫吗)

  • 打印机打印出来有白条(打印机打印出来纸上有黑色印子)

    打印机打印出来有白条(打印机打印出来纸上有黑色印子)

  • vivo x7plus上市时间(vivox7plus什么时候出来的)

    vivo x7plus上市时间(vivox7plus什么时候出来的)

  • 5g手机插4g卡网速快吗(5g手机插4g卡网速慢)

    5g手机插4g卡网速快吗(5g手机插4g卡网速慢)

  • 陌陌为什么关注不了人(陌陌为什么关注了然后又没有关注)

    陌陌为什么关注不了人(陌陌为什么关注了然后又没有关注)

  • 在excel中字符型数据的默认对齐方式是(excel在字符串前面加字符)

    在excel中字符型数据的默认对齐方式是(excel在字符串前面加字符)

  • 华为怎样分屏使用(华为咋弄分屏)

    华为怎样分屏使用(华为咋弄分屏)

  • 对讲机说话是按哪个(对讲机说话按哪里)

    对讲机说话是按哪个(对讲机说话按哪里)

  • 荣耀9x有人脸识别吗(honor9x人脸识别)

    荣耀9x有人脸识别吗(honor9x人脸识别)

  • purnhub 能设置中文吗(purnhurb客户端)

    purnhub 能设置中文吗(purnhurb客户端)

  • vivo怎么查看已删除短信(vivo手机查看型号)

    vivo怎么查看已删除短信(vivo手机查看型号)

  • 计算机键盘基础知识(计算机键盘基础题目)

    计算机键盘基础知识(计算机键盘基础题目)

  • 小米手环4可以微信支付吗(小米手环4可以刷门禁卡吗)

    小米手环4可以微信支付吗(小米手环4可以刷门禁卡吗)

  • 华为nova4电池容量多大(华为nova4电池容量怎么看)

    华为nova4电池容量多大(华为nova4电池容量怎么看)

  • 微信收款违规行为是怎么回事(微信收款涉及违规)

    微信收款违规行为是怎么回事(微信收款涉及违规)

  • uc隐藏相册在哪里(uc隐藏相册在哪里打开)

    uc隐藏相册在哪里(uc隐藏相册在哪里打开)

  • 航信金税盘时间校准
  • 税收实体法有哪18种
  • 个税系统里的免税收入在哪删除
  • 保本理财收益增值税纳税主体
  • 买金税盘怎么做账
  • 回购股份进行股权激励会计分录
  • 购买无形资产的价款超过正常信用
  • 多交印花税申请怎么写
  • 税务征收与管理
  • 有2处收入要交个税,自己如何去交个税
  • 房地产企业如何计算增值税
  • 利润表为什么没有主营业务收入
  • 付款信息和开票信息区别
  • 收到个人缴纳的办证费
  • 辅助生产费用怎么归集
  • 预提费用怎么理解
  • 金蝶标准版利润表季度怎么选
  • 土地使用税和房产税
  • 库存商品结转成本
  • 预提费用冲销需要重新计提吗
  • 收到办公室桶装水开的普票怎样入账?
  • 1000元的打印机双十一满减可以减150吗少
  • 怎么计提企业所得税在哪里知道计提多少
  • 个人所得税专项扣除子女教育标准
  • 计算机怎么设置长亮
  • 什么时编制
  • php遍历显示多维数组
  • php的转义字符反斜杠
  • 电梯的维护保养应当由谁负责
  • 目标检测算法的主要目的是找到图像中用户感兴趣的
  • 技术安装工人包食宿
  • grad_cam
  • 前端工程搭建
  • 多计提的个人所得税怎么冲回
  • php封装数据库连接
  • php的hashtable
  • 前端向后端传递对象数组
  • 人脸口罩检测系统
  • HttpServletRequest 获取参数
  • 增值税申报表中销售额
  • 房企预缴税款会退税吗
  • 暂估入库算材料成本差异吗
  • mongodb 入门
  • 附加税计税依据扣除留抵退税
  • 企业变更法人的原因怎么写
  • 使用正则表达式提取文本(888)555
  • 全资子公司注销的账务处理
  • 企业筹建期间可以上市吗
  • 基本户与一般户的区别与联系
  • 公司间借款利息怎么开发票
  • 再保险责任的承担
  • 利息收入如何开票
  • 利润总额是负数怎么计算利润率
  • 红冲调整什么意思
  • 企业所得税季报与年报的关系
  • 代收代缴水电费如何开票
  • 销售收入确认后怎么处理
  • 软件开发过程中,一个错误发现的越晚
  • 坐车时的保险费怎么算
  • 政府补助的内容
  • 普通发票作废的保存几年合理
  • sqlserver 字符串包含
  • win7系统出现reboot and
  • apache系统服务启动不了
  • linux urb
  • linux多线程编程电子书
  • 免安装版怎么用
  • nodejs使用express如何跨域
  • 安卓listview用法
  • jQuery的extend方法【三种】
  • js实现二维码生成与解析
  • 用什么命令查看linux启动信息
  • 非递归与递归
  • angular2双向数据绑定原理
  • unity如何导入资源文件
  • jquery 使用
  • 欠税务局税款的后果
  • 土地二次买卖
  • 区里的地税局局长是谁
  • 企业所得税的税负率多少合适
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设