位置: IT常识 - 正文

用vue3+vant4开发的简单小众电商购物项目模板(纯前端)(vant移动端开发)

编辑:rootadmin
用vue3+vant4开发的简单小众电商购物项目模板(纯前端) 简单录制如下

推荐整理分享用vue3+vant4开发的简单小众电商购物项目模板(纯前端)(vant移动端开发),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vant 开发app,vue中引入vant组件,vant移动端开发,vue3 vant,vue中引入vant组件,vue-vant,vue中引入vant组件,vue-vant,内容如对您有帮助,希望把文章链接给更多的朋友!

主要练习下界面和交互,顺带简单了解下 vue3 语法。

简单截图如下

首页

首页-猜你喜欢

用vue3+vant4开发的简单小众电商购物项目模板(纯前端)(vant移动端开发)

分类

购物车

个人页面

部分文件代码

底部导航文件

<template> <div class="nav" id="myNav"> <div class="nav-item-box" v-for="(item,index) in itemArr" :key="index" > <!-- :class="item.title == '书架' ? 'bookshelf_nav' : ''" --> <div class="nav-item" :style="name == item.navName ? 'color:rgb(255,63,63)' : ''" @click="to(item.navName)" > <div class="icon"> <i :class="item.icon"></i> </div> <div class="title">{{item.title}}</div> </div> </div> </div></template><script>/* eslint-disable */import { defineComponent, ref, computed } from 'vue'import { useRouter,useRoute } from 'vue-router'export default defineComponent({ setup() { let itemArr = ref([ { title: '首页', navName: 'Index', icon: 'iconfont icon-shouye' }, { title: '分类', navName: 'Classification', icon: 'iconfont icon-fenlei'}, { title: '购物车', navName: 'ShoppingCart', icon: 'iconfont icon-gouwuche' }, { title: '我的', navName: 'Mine', icon: 'iconfont icon-wode' }, ]) let router = useRouter() // 全局路由对象 let route = useRoute() // 当前路由对象 let name = computed(() =>{ return route.name }) let to = (val) =>{ if (val != name.value){ router.replace({ name: val }) } } return { itemArr, name, to } }})</script>

分类功能模块

<div class="content_container"> <!-- 左侧 --> <div class="left_box"> <div v-for="(item,index) in leftList" :key="index"> <div :class="curNav.index == item.index ? 'active' : '' " class="left_box_title" @click="changeIndex(index)">{{item.title}}</div> </div> </div> <!-- 右侧 --> <div> <van-list v-if="curNav.index ==0" class="right_box" v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="onLoad" > <div v-for="item in list" :key="item" class="right_good"> <div class="img "><img class="img" :src="item.src" alt=""></div> <div class="name">{{item.title}}</div> </div> </van-list> <div v-if="curNav.index !=0"> <van-empty image="error" description="暂无数据" /> </div> </div></div><script>/* eslint-disable */import { defineComponent, ref } from 'vue'import { showToast } from 'vant';import navCom from '@/components/onlineRetailer/MyNav.vue'export default defineComponent({ name: 'headerCom', components: { navCom }, setup (props,ctx) { let value = ref('') let active = ref(0); // let onChange = (index) => showToast(`标签名 ${index + 1}`); // let onChange = (index) => { // switch(index){ // case 0: showToast('1111111111111') // break; // case 1: showToast('222222222222') // break; // default: showToast('6666666666666') // } // } let leftList = ref([ { index: 0, title: "好货推荐" }, { index: 1, title: "彩妆个护" }, { index: 2, title: "食品饮料" }, { index: 3, title: "鞋履箱包" }, { index: 4, title: "母婴用品" }, { index: 5, title: "生活家居" } ]) let rightList = ref([ { title: '麦菜' }, { title: '芥兰' } ]) let list = ref([ { title: '坚定不移', src: require('@/assets/newProducts/2.jpg')}, { title: '壮志凌云', src: require('@/assets/newProducts/1.jpg')}, { title: '奋发图强', src: require('@/assets/newProducts/3.jpg')}, { title: '坚持不懈', src: require('@/assets/newProducts/4.jpg')}, { title: '朝气蓬勃', src: require('@/assets/newProducts/5.jpg')}, { title: '力争上游', src: require('@/assets/newProducts/6.jpg')}, { title: '坚定不移', src: require('@/assets/newProducts/2.jpg')}, { title: '壮志凌云', src: require('@/assets/newProducts/1.jpg')}, ]); let loading = ref(false); let finished = ref(false); let curNav = ref({ index: 0, }) let changeIndex = (index) =>{ curNav.value.index = index } let onLoad = () => { // 异步更新数据 // setTimeout 仅做示例,真实场景中一般为 ajax 请求 // setTimeout(() => { // for (let i = 0; i < 6; i++) { // list.value.push(list.value.length + 1); // } // 加载状态结束 loading.value = false; console.log('list.value.length',list.value.length) // 数据全部加载完成 if (list.value.length >= 20) { finished.value = true; } // }, 1000); }; return { value, active, // onChange, leftList, rightList, list, onLoad, loading, finished, curNav, changeIndex } }})</script>

简单记录,(完)😀

本文链接地址:https://www.jiuchutong.com/zhishi/283197.html 转载请保留说明!

上一篇:windows不能打开帮助和支持怎么办(windows不能打开exe文件)

下一篇:Win11 Build 22483预览版ISO官方镜像下载(win11 build 22000.65)

  • 百度扫码在哪(手机扫一扫在哪里)

    百度扫码在哪(手机扫一扫在哪里)

  • 钉钉电脑端是什么意思(钉钉电脑版是哪个)

    钉钉电脑端是什么意思(钉钉电脑版是哪个)

  • 该商户仅支持150元以内的花呗订单(该商户仅支持150以内)

    该商户仅支持150元以内的花呗订单(该商户仅支持150以内)

  • 为什么快手突然不支持花呗了(为什么快手突然要激活账号)

    为什么快手突然不支持花呗了(为什么快手突然要激活账号)

  • 6类网线支持多少兆(6类网线支持多少宽带)

    6类网线支持多少兆(6类网线支持多少宽带)

  • 闲鱼拉黑名单了还能看见我的发布吗(闲鱼拉黑名单了还能下单吗)

    闲鱼拉黑名单了还能看见我的发布吗(闲鱼拉黑名单了还能下单吗)

  • 腾讯课堂游客模式老师能看到吗(腾讯课堂游客模式怎么改为正常模式)

    腾讯课堂游客模式老师能看到吗(腾讯课堂游客模式怎么改为正常模式)

  • oppoace2电池容量(oppoace2电池容量怎么查询)

    oppoace2电池容量(oppoace2电池容量怎么查询)

  • 为什么人脸识别多次失败(为什么人脸识别突然不能用了)

    为什么人脸识别多次失败(为什么人脸识别突然不能用了)

  • 微信有回音是设置了什么(微信有回音是设置了吗)

    微信有回音是设置了什么(微信有回音是设置了吗)

  • 荣耀hryal00ta是什么型号(荣耀hry-al00a是什么型号的手机)

    荣耀hryal00ta是什么型号(荣耀hry-al00a是什么型号的手机)

  • 电脑丢失文件怎么找回(电脑丢失文件是什么情况)

    电脑丢失文件怎么找回(电脑丢失文件是什么情况)

  • oppoa9和a9x的手机壳可以共用吗?(oppoa9和a9x的手机壳可以共用吗)

    oppoa9和a9x的手机壳可以共用吗?(oppoa9和a9x的手机壳可以共用吗)

  • 5v500ma能给手机充电吗(5v500ma能给5v1a手机充电吗)

    5v500ma能给手机充电吗(5v500ma能给5v1a手机充电吗)

  • 如何把苹果旧手机上的所有信息全部删除(如何把苹果旧手机照片导入安卓手机)

    如何把苹果旧手机上的所有信息全部删除(如何把苹果旧手机照片导入安卓手机)

  • oppok1正常重启方法(oppo开机重启)

    oppok1正常重启方法(oppo开机重启)

  • 淘宝淘气值怎么提升(淘宝淘气值怎么看历史)

    淘宝淘气值怎么提升(淘宝淘气值怎么看历史)

  • 朋友圈保存的草稿在哪里(朋友圈保存的草稿换了手机还能看吗)

    朋友圈保存的草稿在哪里(朋友圈保存的草稿换了手机还能看吗)

  • vivoy71支持无线充吗(vivoy7s支持wifi6)

    vivoy71支持无线充吗(vivoy7s支持wifi6)

  • 天猫精灵可以连手机热点吗(天猫精灵可以连接手机热点吗)

    天猫精灵可以连手机热点吗(天猫精灵可以连接手机热点吗)

  • windows11怎么设置默认应用程序?win11更改默认应用程序方法(windows11怎么设置默认应用)

    windows11怎么设置默认应用程序?win11更改默认应用程序方法(windows11怎么设置默认应用)

  • React中useReducer的理解与使用(react usereducer)

    React中useReducer的理解与使用(react usereducer)

  • 用于员工福利的进项税转出分录
  • 一般纳税人发生特定应税销售行为
  • 债券到期账务处理
  • 个体户注销工商没有收走公章
  • 其他权益工具投资公允价值变动
  • 电子税务局自然人怎么切换到企业
  • 转登小规模以前的留抵税额能申请退吗
  • 出口退税不退税主要适用于
  • 个人转让不动产给个人独资企业
  • 老板垫付员工工资怎么写条子
  • 企业哪些费用属于重要费用
  • 进口关税发票账务处理如何进行?
  • 网络信息化服务中心是干嘛的
  • 已抵扣发票红冲后发票还给对方公司
  • 增值税发票开票有误怎么办?
  • 年终奖跟13薪有什么区别
  • 应收账款坏账处理审计
  • 预收款没有发票怎么入账
  • 报销客户车费会计分录怎么写?
  • 社保跨省转移社保流程
  • rcapi.exe - rcapi是什么进程 有什么用
  • 会计科目与账户的关系
  • 结转未交增值
  • 净资产增加数怎么计算
  • rds selected
  • 注销企业基本户需要先注销一般户吗
  • 如何判定增值税发票真伪
  • 多台电脑共享打印机怎么设置
  • laravel with查询指定字段
  • 未按规定开具发票怎么处罚
  • 向农户收购农产品怎么打款
  • 普利特维采湖群国家公园天气
  • 纳税人提供应税服务
  • 计提工资个人所得税账务处理
  • mkdir命令怎么用
  • 下载下来是php
  • 详解php归并排序数据
  • 股东分红放到哪个会计科目
  • vuex数据持久化
  • 企业汇兑收益所得税税率
  • 材料成本差异的借方表示什么
  • sqlserver连接到服务器登录名
  • mysql常用命令语句
  • 应交增值税进项税额和销项税额区别
  • 股东分红要不要纳税?
  • 购买固定资产的运费计入什么科目
  • 贷款利息收入要交增值税吗
  • 库存现金怎么做预算会计
  • 关于出售使用过的产品
  • 公司用现金支付货款
  • 捐赠的资产属于什么科目
  • 买商品赠送赠品怎么做账
  • 建筑公司挂靠单位的财务处理是?
  • 行政单位 预算会计
  • 一次性收取的房租如何做账
  • 现金流量表现金及现金等价物净增加额
  • 诉讼费用负担原则是什么
  • Mysql 5.7.9 shutdown 语法实例详解
  • ecap.exe是什么
  • win8.0升级win8.1
  • win10 oem key
  • 部分用户开启隐私,暂时无法查看怎么办
  • win10预览版21277
  • windows7鼠标设置在哪里
  • windows7 无线服务
  • 跨域请求的三种方法
  • unity小例子
  • eclipse从本地导入项目
  • 微软官方app
  • 淘宝python基础教程
  • javascript点击切换div内容
  • shell脚本中实现rm -fr !(file1)
  • jquery easyui开发指南
  • unity开发平台
  • jquery插件大全
  • 五十八二
  • JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
  • 深圳地税局地址工作时间
  • 税务注销后发现报表报错的怎么办
  • 客运站汽车票查询真伪
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设