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

  • vivox70闹钟在哪里设置(vivo闹钟)

    vivox70闹钟在哪里设置(vivo闹钟)

  • 微信怎么取消拉黑(微信怎么取消拉黑名单)

    微信怎么取消拉黑(微信怎么取消拉黑名单)

  • 小米手机如何录屏幕视频(小米手机如何录屏视频教程)

    小米手机如何录屏幕视频(小米手机如何录屏视频教程)

  • 快手怎么没有创建付费内容(快手怎么没有创作者权益)

    快手怎么没有创建付费内容(快手怎么没有创作者权益)

  • 电子秤显示ol怎么修(电子秤显示0ld)

    电子秤显示ol怎么修(电子秤显示0ld)

  • 开机蓝屏进不去系统(开机蓝屏进不去winre)

    开机蓝屏进不去系统(开机蓝屏进不去winre)

  • 一次写入性光盘有哪些(光盘一次写入dao)

    一次写入性光盘有哪些(光盘一次写入dao)

  • i34160相当于i5几代(i34160属于什么级别的)

    i34160相当于i5几代(i34160属于什么级别的)

  • 荣耀v30和v30pro屏幕一样吗(荣耀v30和v30pro屏幕互换)

    荣耀v30和v30pro屏幕一样吗(荣耀v30和v30pro屏幕互换)

  • 微信步数点赞好友能看到吗(微信步数点赞别人看得到吗)

    微信步数点赞好友能看到吗(微信步数点赞别人看得到吗)

  • 如何改华为手机锁屏时间(如何改华为手机下方的按键)

    如何改华为手机锁屏时间(如何改华为手机下方的按键)

  • wapi打开好还是不打开(wapi要打开吗)

    wapi打开好还是不打开(wapi要打开吗)

  • 百度贴吧可以改用户名吗(百度贴吧可以改密码吗)

    百度贴吧可以改用户名吗(百度贴吧可以改密码吗)

  • 苹果x和苹果8p谁的屏幕大(苹果x和苹果8p谁值得买)

    苹果x和苹果8p谁的屏幕大(苹果x和苹果8p谁值得买)

  • 微信对方无应答是什么意思(微信对方无应答是挂断吗)

    微信对方无应答是什么意思(微信对方无应答是挂断吗)

  • 华为拍照怎么弄正方形(华为拍照怎么弄实况)

    华为拍照怎么弄正方形(华为拍照怎么弄实况)

  • 电脑上怎么保存文件(电脑上怎么保存动态图)

    电脑上怎么保存文件(电脑上怎么保存动态图)

  • soulmate发音(soulmate的发音)

    soulmate发音(soulmate的发音)

  • 组成局域网的硬件有那些(组成局域网的硬件有网络服务器)

    组成局域网的硬件有那些(组成局域网的硬件有网络服务器)

  • vivox27手机有防水功能吗(vivox27有没有防盗功能)

    vivox27手机有防水功能吗(vivox27有没有防盗功能)

  • win10试用版和正式版的区别(win10试用版和正版有什么区别)

    win10试用版和正式版的区别(win10试用版和正版有什么区别)

  • 快手怎么快速取关多人(快手怎么快速取消关注多个人)

    快手怎么快速取关多人(快手怎么快速取消关注多个人)

  • 抖音里喜欢的作品怎么隐藏(抖音里喜欢的作品别人能看到吗)

    抖音里喜欢的作品怎么隐藏(抖音里喜欢的作品别人能看到吗)

  • 爱奇艺8359是什么错误(爱奇艺900401什么意思)

    爱奇艺8359是什么错误(爱奇艺900401什么意思)

  • 手机流量设置在哪里找(手机设置流量在哪)

    手机流量设置在哪里找(手机设置流量在哪)

  • regsync.exe - regsync是什么进程 有什么用

    regsync.exe - regsync是什么进程 有什么用

  • 【vue2】近期bug收集与整理02(vue-bus)

    【vue2】近期bug收集与整理02(vue-bus)

  • 个人销售二手车要交增值税吗
  • 二手商铺买卖税率大约百分比
  • 适用增值税零税率的有
  • 员工垫付的费用报销会计分录
  • 一般纳税人机电安装服务费税率是多少
  • 税控盘服务商
  • 无发票入账违反哪条法律
  • 季报申报之后还可以改吗?
  • 销售退回所得税差异怎么处理
  • 资金不需要验资,实收资本怎么入账
  • 材料成本会计的主要内容
  • 专票金额和实际报销金额不符
  • 社会保险与个人养老金的区别
  • 社会保险的登记和申报程序
  • 国税退税需要多长时间
  • 食堂伙食费怎么入账
  • 现金交易的发票可以认证
  • 付款申请需要附什么依据
  • 累计折旧费用
  • 子公司资不抵债
  • 房地产所得税税负率计算公式
  • 报销抵冲银行日记帐要怎么入帐?
  • 代理费是指
  • 工地开工购买的鞭炮怎么入账
  • 一般纳税人认定管理办法
  • 工资的结转
  • 厂家质量问题商家有责任吗
  • 个人独资企业没有章程
  • linux计划任务crontab
  • 装修公司开专票要交几个点
  • 电脑如何进入bios设置
  • 研发费用加计扣除是什么意思啊
  • windows10安装hadoop
  • 养老金领取怎么算他的领取金额
  • php实现微信网页聊天功能
  • vue3elementplus首页布局
  • vue3 计算属性
  • 定额发票怎么查询经营范围
  • php密码修改
  • 哪些支出可以计入成本科目
  • 报个税时显示扣缴单位无有效的税费种认定信息
  • 社保基数和实际工资怎么算
  • pytorch训练yolov3
  • 后端中spef文件和spf文件
  • 从汽车生产到销售有哪些过程
  • 个人所得税申报操作流程
  • 手机银行对公账户转账要手续费吗
  • 预付账款和挂账的区别
  • 应纳税所得额的各项扣除包括什么
  • 信用卡的还款方式怎么查
  • 事业单位是怎样向上申请招人的
  • 税控盘忘记抄报税怎么办
  • 入账价值有
  • 销售退款现金流量表
  • 银行利息回单怎么报账审核
  • 网吧的收入怎么做账
  • 企业购买银行理财产品的会计处理
  • 少做收入第二年怎么算
  • 资金股东占股比例
  • 购销业务活动包括哪些
  • 开个人普票需要身份证吗
  • 国税退回多缴税款
  • 什么是履约义务,举例
  • MySql Error 1698(28000)问题的解决方法
  • XP系统如何设置变流畅
  • centos 安装chia
  • freebsd 升级
  • winxp系统连接网络
  • win7经常自动重启是什么原因
  • linux一块网卡绑定多个ip
  • win7防火墙在哪设置
  • win7的命令对话框在哪里
  • javascript的基本语句
  • jquery validate
  • Node.js中的construct构造函数
  • django环境配置
  • jquery根据name获取对象数组
  • linux bash shell中case语句的实例
  • jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
  • 怎么查看keytab文件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设