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

  • 华为gt3怎么清理运行程序(华为gt3怎么清理微信聊天记录)

    华为gt3怎么清理运行程序(华为gt3怎么清理微信聊天记录)

  • word文字底色怎么变成白色(word文字底色怎么变成透明)

    word文字底色怎么变成白色(word文字底色怎么变成透明)

  • iPhone接电话怎么录音(iphone接电话怎么录音)

    iPhone接电话怎么录音(iphone接电话怎么录音)

  • ppt怎么设置艺术字位置(ppt怎么设置艺术效果)

    ppt怎么设置艺术字位置(ppt怎么设置艺术效果)

  • qq消息免打扰为什么会自己关闭(qq消息免打扰为什么还会提示)

    qq消息免打扰为什么会自己关闭(qq消息免打扰为什么还会提示)

  • 微信店员收款通知没声音(微信店员收款通知怎么设置语音)

    微信店员收款通知没声音(微信店员收款通知怎么设置语音)

  • 华为mate30pro手电筒在哪里(华为mate30pro手电筒亮度调节)

    华为mate30pro手电筒在哪里(华为mate30pro手电筒亮度调节)

  • cad转pdf文字不显示怎么办(cad转pdf无法显示文字怎么办)

    cad转pdf文字不显示怎么办(cad转pdf无法显示文字怎么办)

  • 华为mate30滚动截屏怎么用(华为mate30滚动截屏长度设置)

    华为mate30滚动截屏怎么用(华为mate30滚动截屏长度设置)

  • 华为nova7前置摄像头有点模糊(华为nova7前置摄像头用不了)

    华为nova7前置摄像头有点模糊(华为nova7前置摄像头用不了)

  • vivo手机GPS信号弱怎么解决(vivo手机gps信号弱怎么解决)

    vivo手机GPS信号弱怎么解决(vivo手机gps信号弱怎么解决)

  • m2.ans是什么文件(m1.ans是什么文件 可以删除吗)

    m2.ans是什么文件(m1.ans是什么文件 可以删除吗)

  • 苹果11手机屏刮花怎么办(苹果手机屏刮花了怎么修复)

    苹果11手机屏刮花怎么办(苹果手机屏刮花了怎么修复)

  • 华为应用商店搜不到微信(华为应用商店搜不到球球大作战)

    华为应用商店搜不到微信(华为应用商店搜不到球球大作战)

  • 微信文字怎么转换成语音(微信文字怎么转换语音怎么设置)

    微信文字怎么转换成语音(微信文字怎么转换语音怎么设置)

  • 华为p20是多少寸(华为p20是几寸手机)

    华为p20是多少寸(华为p20是几寸手机)

  • 国内外常用的数据库有哪些(国内外常用的数学软件)

    国内外常用的数据库有哪些(国内外常用的数学软件)

  • 毒app支持花呗吗(毒上用花呗有确认收货吗)

    毒app支持花呗吗(毒上用花呗有确认收货吗)

  • 手机为什么软件会停止运行(手机为什么软件打不开怎么办)

    手机为什么软件会停止运行(手机为什么软件打不开怎么办)

  • ios13静音未知来电在哪里设置(苹果静音未知来电怎么没用了)

    ios13静音未知来电在哪里设置(苹果静音未知来电怎么没用了)

  • 华为手机怎么投屏(华为手机怎么投屏到电脑笔记本上)

    华为手机怎么投屏(华为手机怎么投屏到电脑笔记本上)

  • 拼多多口令怎么取消(拼多多口令怎么打开)

    拼多多口令怎么取消(拼多多口令怎么打开)

  • 苹果11怎么使用自己的铃声(苹果11怎么使用nfc坐地铁)

    苹果11怎么使用自己的铃声(苹果11怎么使用nfc坐地铁)

  • 手机显示热点资迅怎样关掉(手机显示热点资讯怎么办)

    手机显示热点资迅怎样关掉(手机显示热点资讯怎么办)

  • oppoFindx有呼吸灯吗(oppo findx2呼吸灯)

    oppoFindx有呼吸灯吗(oppo findx2呼吸灯)

  • 蓝牙耳机卡顿解决方法(蓝牙耳机使用时卡顿)

    蓝牙耳机卡顿解决方法(蓝牙耳机使用时卡顿)

  • 出售写字楼需要什么手续
  • 食品配送专票税率是多少
  • 私车公用如何处理
  • 合并报表逆流抵消
  • 发行股票支付给承销商的发行费用计入
  • 企业级软件开发
  • 外贸企业当月没交税
  • 购销合同印花税优惠政策
  • 收到客户银行按时到账
  • 购买方退货的会计处理
  • 专票当月抵扣后当月作废会被发现吗
  • 超过一年的保证金怎么交个税
  • 个税手续费返还会计分录
  • 小区物业费开票名称
  • 案例分析建筑业发展趋势
  • 培训费发票可以抵扣进项税吗
  • 公司筹建期间发生的费用没有发票
  • 应纳税额减征额和减免税额一样吗
  • 发票作废时间有多长
  • 车船税计入什么费用
  • 企业购置房产交什么税
  • 个税申报系统的备份保留几份数据
  • 因改制重组等原因撤回出口退税备案需要提交哪些资料?
  • 公司对项目的资金支持
  • 不交社保是否可以马上辞职
  • 解除劳动关系补偿标准
  • edge浏览器下载安装
  • 怎样让鼠标变得好看些
  • win10自动关机方法
  • 企业的营业外收入要交增值税吗
  • 鸿蒙系统通知栏界面怎么打开
  • 进口小汽车消费税率
  • 印花税土地使用税和房产税怎么做会计分录
  • 非货币性资产交换以公允价值为基础进行计量
  • opencv如何使用
  • 购买办公用品怎样写备注
  • 购入专利权属于
  • 土地出让金返还的税务处理
  • 深度学习中正样本、负样本、简单样本、困难样本的区别 (简单易懂)
  • web攻防之业务安全实战指南在线阅读
  • 小米开发回稳定
  • 融资租出固定资产计入什么科目
  • 如何做进项税额明细表
  • 应交税费月末要结平
  • html友情链接模板
  • python中with语句的用法
  • 一次性伤残补助金怎么查询进度
  • db2入门
  • 已经经营中的企业有哪些
  • 国债利息收入要征税吗
  • 营业执照是什么字体
  • 一般纳税人劳务税率是多少?
  • 清算所得税计税基础
  • 红冲发票后如何申报增值税
  • 收到发票冲红怎么做分录
  • 对公账户进出账常识
  • 项目所在地个税网上怎么报
  • 医院产生的相关费用
  • 企业增资的流程
  • 营业执照可以注册几个抖音号
  • ubuntu sudo apt-get install
  • extra backup
  • win8更改桌面位置
  • ksysslim.exe
  • pps是什么文件
  • WinXP巧用Netsh工具快速填写IP参数
  • windows xp无法访问samba共享夹
  • linux端口流量监控
  • linux的内存
  • win7开机黑屏只有一个鼠标箭头
  • win8突然没有声音
  • unity intercom
  • shell脚本判断命令是否执行成功
  • 教你怎样用气球做可爱小兔子气球君带你做气球手工
  • js获取上传文件的大小
  • 详解javascript事件冒泡
  • javascript基础教程教材答案
  • 安卓圆角矩形图标
  • 江苏省常州市金坛区茅山风景区
  • 税务志愿者服务队
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设