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

  • 如何查询纳税人状态是否正常
  • 旧机器设备出口
  • 金蝶财务软件年末结账步骤
  • 差额征税扣除额是什么意思
  • 小企业会计制度科目表
  • 买一赠一视同销售征收增值税吗
  • 辅导期一般纳税人
  • 收到政府补助的固定资产的账务处理
  • 17%增值税发票怎么计算成13%
  • 投入的资金计入什么科目
  • 进项转出后是否要交税
  • 企业所得税的减按征收如何计算
  • 税率为0的增值税发票能抵扣吗
  • 营改增后哪些费用可以抵扣
  • 进项发票和销项发票金额相同还需要交税金吗
  • 消费税暂行条例实施细则
  • 财付通交易手续费多少
  • 兼职费用计税标准是多少
  • 过期未抵扣的发票对企业有什么影响
  • 专票密码区出来一点能报吗
  • 缴纳个人所得税会计分录
  • win11dns电脑服务器未响应如何处理
  • Win11怎么自定义鼠标指针图案
  • 专家评审费报销仅附签字笔迹相似
  • 职工教育经费包括餐费吗
  • macbook显示隐藏文件
  • php的!
  • 赠送积分怎么确认收入
  • 税后利润是股东权益吗
  • ue4 像素流并发
  • PHP:class_uses()的用法_spl函数
  • 土地增值税预征的计征依据=预收款-应预缴增值税税款
  • 建筑业2021年享受核定征收吗
  • 企业所得税股息红利所得来源地
  • php解析接口
  • 办公室设计费计入什么
  • golang char
  • 帝国cms使用手册
  • 收不回的应收账款分录
  • 企业接受捐赠怎么入账
  • wordpress全站伪静态
  • ffmpeg png to mp4
  • 绿化租赁合同要交印花税吗
  • 2020年维修基金怎么交
  • 甲企业持有乙企业股票的市价为920000
  • 自然人独资企业需要交企业所得税吗
  • 网上银行跨行转账手续费
  • 累计盈余的借方
  • 将资本公积转为资本会计科目
  • 利润减负债
  • 网上交税已经缴费怎么退
  • 物业公司代收水费合理吗
  • 完工产品制造成本表
  • 收到银行退回的手续费怎么做会计分录
  • 销售现金优惠会计分录
  • 会计电算化建账的基本流程有哪些
  • windows在哪里添加打印机
  • windows个性化定制包含
  • 服务器系统2003
  • windows图片密码
  • aow exe是什么
  • win7系统蓝牙搜索不到设备
  • linux删除用户组和用户
  • ConquerCam.exe进程的详细介绍 ConquerCam进程信息介绍
  • win7连接xp共享
  • windows英文字体
  • centos bz
  • js 箭头表达式
  • nodejs中的模块以及作用
  • java框架怎么用
  • linux命令批量执行
  • bat批处理删除
  • 网页中经常用到的代码
  • 使用nodejs连接openai超时
  • 从安卓设备导入
  • python django 项目框架图
  • 税务局着装规定文件
  • 国地税机构改革方案
  • 经营租赁属于什么费用
  • 无锡市社保局电话是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设