位置: 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环境)

  • 乔安摄像头怎么连接手机(乔安摄像头怎么样)

    乔安摄像头怎么连接手机(乔安摄像头怎么样)

  • 微信怎么彻底在别人列表消失(微信怎么彻底在对方好友列表消失)

    微信怎么彻底在别人列表消失(微信怎么彻底在对方好友列表消失)

  • 支付宝相互宝停止运行钱能退回来吗(支付宝相互宝停止运行怎么回事)

    支付宝相互宝停止运行钱能退回来吗(支付宝相互宝停止运行怎么回事)

  • 京东确认收货是什么意思(京东买东西确认收货是什么意思)

    京东确认收货是什么意思(京东买东西确认收货是什么意思)

  • b站音频如何下载到手机(b站音频如何下载mp3)

    b站音频如何下载到手机(b站音频如何下载mp3)

  • windows7属于什么系统操作(windows7属于什么级别)

    windows7属于什么系统操作(windows7属于什么级别)

  • 抖音内存怎么越来越大(抖音内存怎么越清理越大)

    抖音内存怎么越来越大(抖音内存怎么越清理越大)

  • 快手谁看过我的作品能知道吗(快手谁看过我的作品怎么看)

    快手谁看过我的作品能知道吗(快手谁看过我的作品怎么看)

  • 微信视频超过5分钟怎么发送给朋友(微信视频超过5分钟怎么发给个人)

    微信视频超过5分钟怎么发送给朋友(微信视频超过5分钟怎么发给个人)

  • vivoz5微信视频可不可以美颜(vivo手机微信视频时候能不能录下来)

    vivoz5微信视频可不可以美颜(vivo手机微信视频时候能不能录下来)

  • 网桥是用于哪一层的设备(网桥是用于哪一部分)

    网桥是用于哪一层的设备(网桥是用于哪一部分)

  • 为什么情侣空间点不动(为什么情侣空间解除了还是有标志)

    为什么情侣空间点不动(为什么情侣空间解除了还是有标志)

  • 网易云怎么买单曲(网易云怎么买单歌)

    网易云怎么买单曲(网易云怎么买单歌)

  • 淘宝归哪个部门监管(淘宝归哪个部门管辖)

    淘宝归哪个部门监管(淘宝归哪个部门管辖)

  • 手机为什么无线网可以连上但是用不了(手机为什么无线网老是断开)

    手机为什么无线网可以连上但是用不了(手机为什么无线网老是断开)

  • 苹果xs长宽是多少cm(苹果xs长宽是多少厘米)

    苹果xs长宽是多少cm(苹果xs长宽是多少厘米)

  • 苹果手机怎么下载东西(苹果手机怎么下载来电铃声)

    苹果手机怎么下载东西(苹果手机怎么下载来电铃声)

  • vue怎么在视频里打字(vue视频怎么添加背景图片)

    vue怎么在视频里打字(vue视频怎么添加背景图片)

  • 如何做目录自动生成(如何做目录自动生成页码)

    如何做目录自动生成(如何做目录自动生成页码)

  • 手机卡显示4ghd(手机卡显示4g网络,但是没有网是怎么回事?)

    手机卡显示4ghd(手机卡显示4g网络,但是没有网是怎么回事?)

  • 息屏显示费电吗(vivo手机熄灭屏幕显示时间)

    息屏显示费电吗(vivo手机熄灭屏幕显示时间)

  • qq自动回复在哪(QQ自动回复在哪里取消)

    qq自动回复在哪(QQ自动回复在哪里取消)

  • 荣耀8x是双卡双待吗(荣耀8x是不是双卡)

    荣耀8x是双卡双待吗(荣耀8x是不是双卡)

  • 怎么ai修复照片(ai图片修复 用什么软件)

    怎么ai修复照片(ai图片修复 用什么软件)

  • bigint是什么意思(big是什什么意思)

    bigint是什么意思(big是什什么意思)

  • 怎么删除循环引用公式(怎么清除循环引用)

    怎么删除循环引用公式(怎么清除循环引用)

  • 如何让时间显示在桌面(如何让时间显示到秒)

    如何让时间显示在桌面(如何让时间显示到秒)

  • JavaScript之Ajax-axios表单提交

    JavaScript之Ajax-axios表单提交

  • 计提税金会计分录怎么算
  • 企业所得税中资产总额平均值怎么核算?
  • 金蝶美金账户怎么开
  • 客户到期不付款如何处理
  • 工商年报最迟什么时候申报
  • 非工作日是否可以开标
  • 金税设备中有上税吗
  • 认缴注册资本的风险
  • 劳务派遣公司代发工资需要开票吗
  • 京东预付定金是什么意思
  • 以前年度记错的费用怎么调整?
  • 财产租赁合同印花税计税依据含税吗
  • 公司研发阶段的产品领料怎么处理?
  • 跨年收到暂估费用的发票如何处理
  • 保证金抵扣货款合同
  • 融资租赁资产如何入账
  • 代建项目增值税税率
  • 商品和服务税收编码怎么查
  • 工程项目管理人员任命书
  • 什么发票可以抵成本
  • 个税申报月份有误如何调整?
  • 农业自产自销如何认定
  • 采购过程中产生的物流成本案例分析
  • 已经折旧完的固定资产怎么处理
  • 条形码费用属于哪个科目
  • windows 10鼠标如何操作
  • 如何修复win7系统引导
  • 固定资产折旧计算方法
  • window10下载cad2014
  • 根据完工进度确认成本
  • linux中安装命令
  • Fort Rock Valley Historical Homestead博物馆,俄勒冈 (© Prisma by Dukas Presseagentur GmbH/Alamy)
  • 项目优化管理工具
  • 设置pin是什么意思
  • 如何用php操作mysql
  • 公司的财产保险包括哪些
  • yolov5 教程
  • 4s店试驾车出售收益为什么不能做主营业务收入
  • php字符串比较函数怎么写
  • halt关机命令
  • 小规模纳税人附加税减免政策2023
  • 个人所得税经营所得税申报表A表
  • 应交税费未交增值税
  • 车间领用五金配件入什么科目
  • 有外币业务需不需要交税
  • 个人提供劳务报酬如何交税
  • 预付账款的账务处理视频教程
  • 关联方往来款账务处理
  • 金蝶财务软件服务器
  • 幼儿园固定资产一览表
  • 进项做成了销项怎么调账
  • 产品成本核算有哪些方法
  • mysql数据库技术介绍
  • sql以级联的方式删除表
  • 记一次成功的喜悦作文
  • Win7x64下Mysql5.7.18解压版的安装方法
  • Mysql中几种插入效率的实例对比
  • u盘安装win8.1系统教程
  • Centos Nginx + Svbversion配置安装方法分享
  • win8系统搜索在哪里
  • win8系统设置
  • 如何修改linux系统名称
  • vmware虚拟机Linux扩展硬盘
  • win7如何显示桌面
  • javascript语言入门教程
  • 用python的turtle画图代码
  • input lead
  • python该怎么用
  • python字符串处理为年月日
  • shift妙用之解决shell编程中的入参问题
  • jquery 报表
  • unity3d spine
  • unity教程完整版
  • javascriptprompt用法
  • unity shader视频教程
  • 基于javascript的毕业设计
  • 支付给境外的咨询费需要什么资料
  • 税控发票开票软件(金税盘版)打不开?
  • 房产税江苏2021年征收标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设