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

  • 华为mate20ud是什么意思

    华为mate20ud是什么意思

  • 苹果绑定微信余额不足(苹果绑定微信余额安全吗)

    苹果绑定微信余额不足(苹果绑定微信余额安全吗)

  • 描述文件空白无法安装软件(有描述文件选项却空白)

    描述文件空白无法安装软件(有描述文件选项却空白)

  • 华为手机怎样给分身微信改图标(华为手机怎样给软件设置密码)

    华为手机怎样给分身微信改图标(华为手机怎样给软件设置密码)

  • netflix是什么

    netflix是什么

  • oppo隐藏相册在哪(oppo隐藏相册怎么打开)

    oppo隐藏相册在哪(oppo隐藏相册怎么打开)

  • 上下左右键不能移动(上下左右键不能用是怎么回事)

    上下左右键不能移动(上下左右键不能用是怎么回事)

  • 5的ascii码值是多少(ascii码表示5)

    5的ascii码值是多少(ascii码表示5)

  • b站怎么删除自己的视频(b站怎么删除自己发的评论)

    b站怎么删除自己的视频(b站怎么删除自己发的评论)

  • 芒果tv评论了为什么看不见(芒果tv评论了为什么没有)

    芒果tv评论了为什么看不见(芒果tv评论了为什么没有)

  • 卡点视频是什么意思(卡视频是什么意思啊免费)

    卡点视频是什么意思(卡视频是什么意思啊免费)

  • 苹果x自动锁定30秒改不了(苹果X自动锁定永不改不了)

    苹果x自动锁定30秒改不了(苹果X自动锁定永不改不了)

  • 键盘锁住了fn和什么键(键盘锁住了fn和什么键外星人)

    键盘锁住了fn和什么键(键盘锁住了fn和什么键外星人)

  • 泰坦x相当于什么显卡(泰坦x多少钱)

    泰坦x相当于什么显卡(泰坦x多少钱)

  • 不属于输出设备有哪些(下列不属于输出设备)

    不属于输出设备有哪些(下列不属于输出设备)

  • 来短信怎么不显示浮窗(来短信怎么不显示红点)

    来短信怎么不显示浮窗(来短信怎么不显示红点)

  • 一键还原怎么恢复网络(一键还原怎么恢复)

    一键还原怎么恢复网络(一键还原怎么恢复)

  • 台式电脑慢卡怎样解决(台式电脑慢卡怎么解决)

    台式电脑慢卡怎样解决(台式电脑慢卡怎么解决)

  • 苹果xr网速不好怎么解决(iphonexr网速慢)

    苹果xr网速不好怎么解决(iphonexr网速慢)

  • 怎么从微博下载视频(怎么从微博下载图片)

    怎么从微博下载视频(怎么从微博下载图片)

  • 手机缓存数据可以清除吗(手机缓存数据可以删吗)

    手机缓存数据可以清除吗(手机缓存数据可以删吗)

  • 手机反差色怎么调(手机相机反差色在哪)

    手机反差色怎么调(手机相机反差色在哪)

  • OPPO k5支持root吗(oppo手机k5支持5g吗)

    OPPO k5支持root吗(oppo手机k5支持5g吗)

  • 双十一是什么时候(双十一是什么时候开始火的)

    双十一是什么时候(双十一是什么时候开始火的)

  • dubbo与springcloud的区别(dubbo与springcloud区别)

    dubbo与springcloud的区别(dubbo与springcloud区别)

  • 设备信息权限是什么意思(设备信息权限怎么开启)

    设备信息权限是什么意思(设备信息权限怎么开启)

  • 芒果tv怎么扫码登录(芒果tv怎么扫码登录另一个手机)

    芒果tv怎么扫码登录(芒果tv怎么扫码登录另一个手机)

  • 手机热点网速慢(笔记本连手机热点网速慢)

    手机热点网速慢(笔记本连手机热点网速慢)

  • CAD怎么给线条加粗(cad怎么给线条加粗)

    CAD怎么给线条加粗(cad怎么给线条加粗)

  • 上年度暂估的票回不来一直挂帐吗
  • 预缴税款可以下调吗
  • 项目奖金个人所得税怎么算
  • 未认证的发票如何作废
  • 含税金额怎么算税额公式
  • 税金及附加包括个人所得税吗
  • 房地产企业预缴增值税如何申报
  • 发放股票股利增资
  • 审核发票的要点和方法
  • 资产减值确定计量原则包括哪些
  • 什么产品可视同自产产品享受退税优惠
  • 商业保险可以抵扣增值税吗
  • 偶然所得个税怎么计算公式
  • 1元换购怎么做账
  • 购进货物既用于应税项目又用于免税项目的
  • 建设期利息对当年的借款如何计息?
  • 增值税补交还有没有责任
  • 税前扣除有标准的项目及标准有哪些?
  • 分包与转包的区别 法院
  • 金融合同违约金罚息
  • 预交增值税后如何处理
  • 企业的其他业务收入
  • 土地闲置费能否扣除
  • 会务费税务处理
  • 企业所得税汇算清缴网上申报流程
  • 手机压缩包损坏怎么修复
  • 信用卡扣手续费怎么算的
  • 收到水电费的增值税普通发票怎么做账
  • deepin 20 wifi
  • php处理xml
  • 文件夹删除需要管理员权限怎么弄
  • 怎么扣除购入的物品
  • 经营性支出属于哪个科目
  • 补缴的土地出让金契税
  • 年底会计结账
  • laravel批量insert
  • 增值税结算方式的筹划
  • 实收资本账户对应的账户包括
  • 销售成本属于销售收入吗
  • 发ai的英文单词
  • 2手房价格
  • php image
  • php常用加密方式
  • php或者判断
  • 事业单位新会计制度固定资产
  • 销售货款无法收到怎么办
  • LVS负载均衡群集的常用调度算法包含哪几种?
  • 怎样回到一年前
  • 不动产租赁需要资质吗
  • 小额支出的两种形式
  • 用友应收系统凭证冲销后查询不到怎么办
  • 发票未及时开,但是双方会计已经做帐,怎么办?
  • 小规模纳税人退税账务处理
  • 小规模取得增值税专用发票怎么做账
  • 客户付了订金后能退吗
  • 人力公司开的代驾发票
  • 发票必须与合同明细对应吗
  • 新准则印花税计提会计分录
  • 工会会费收入计入会计科目
  • 自产自销农产品免税备案取消
  • 管家婆记账可以都有凭证做吗?
  • 旅游服务小规模差额税率
  • 退票费凭证可以用于报销吗?
  • 施工单位索赔应满足哪些条件?
  • 固定资产如何分类?
  • sql server怎么执行
  • freebsd 安装
  • linux中字符设备有哪些
  • linux文件压缩和解压缩命令
  • 怎么设置电脑开机启动项
  • xp远程连接win7
  • 红石2代
  • linux 命令连接
  • win7无法打开任何软件程序
  • linux内核文件夹
  • js字符串编码解码
  • nodejs await
  • 国家税务总局验证码
  • 网上查询公司营业执照
  • 17%增值税什么时候开始
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设