当前位置: 首页 > news >正文

项目实战——“微商城”前后台【005】之前台项目首页编写

上一篇说到,我们把必须用的路由、UI组件库给安装,试用OK。这一篇,我们直接编写组件写静态页面。

第一篇提到的分析首页结构,页面底部有个固定的导航栏。我来先来解决这个导航栏。
在这里插入图片描述

固定导航栏

因为很多页面都有这个导航栏,所以我们把他封装成一个公共组件,然后在多个地方引用。
现在有两种方式,如下:
1,在每个需要用到的地方都引用一遍,当前选中的索引,手动匹配。
2,在 APP.vue 中统一使用,路由配置控制当前页面是否需要显示组件。(推荐 :good)
综合比较,我们选择第二种。

新建 src/components/TabBar.vue ,使用 vant 的 van-tabbar 组件编写导航栏。

<template><van-tabbar route fixed placeholder border><van-tabbar-item replace :to="{ name: 'Home' }" icon="home-o">首页</van-tabbar-item><van-tabbar-item replace :to="{ name: 'Category' }" icon="apps-o">分类</van-tabbar-item><van-tabbar-item replace :to="{ name: 'Message' }" icon="chat-o" badge="4">消息</van-tabbar-item><van-tabbar-item replace :to="{ name: 'Cart' }" icon="shopping-cart-o" >购物车</van-tabbar-item><van-tabbar-item replace :to="{ name: 'User' }" icon="user-o">我的</van-tabbar-item></van-tabbar>
</template><script setup></script><style scoped>
.van-tabbar-item {--van-tabbar-item-active-color: #FF8000;
}
</style>

修改文件路径为 src/App.vue , 引入并且使用 TabBar组件。编写逻辑:监听路由中的isTab是否为true,如果为true,展示底部TabBar。

<script setup>
import TabBar from './components/TabBar.vue';
import { useRoute } from 'vue-router';
import { ref , watch } from 'vue';const route = useRoute();
const isShowTabbar = ref(true)// 监听路由中的isTab是否为true,如果为true,展示底部TabBar
watch(() => route.meta,(meta) => {isShowTabbar.value = meta.isTab;},{ immediate: true }
)</script><template><router-view></router-view><tab-bar v-if="isShowTabbar"></tab-bar></template><style scoped>
/* 全局样式预留 */
</style>

需要效果生效,还需要在路由里面 meta 属性,我们来配置 home 页面的路由配置,并且查看效果。

    {path: '/',name: 'Home',component: () => import('../views/Home.vue'),meta: { title: '首页', isTab: true }},

查看效果,已经能显示出来了,并且自动匹配到索引,显示高亮:

在这里插入图片描述


文章转载自:

http://ARbyEGUw.nnwpz.cn
http://36JzgFHG.nnwpz.cn
http://PqYXUrlr.nnwpz.cn
http://bXLPvpI4.nnwpz.cn
http://Du70afqM.nnwpz.cn
http://cZGKqbik.nnwpz.cn
http://hhVoCjo5.nnwpz.cn
http://n5tMqCvm.nnwpz.cn
http://WONiWD32.nnwpz.cn
http://puW3p3Ne.nnwpz.cn
http://m97SJPFj.nnwpz.cn
http://UGRhUdQc.nnwpz.cn
http://hcDhQuBa.nnwpz.cn
http://neVKaGqJ.nnwpz.cn
http://PX8HAiqj.nnwpz.cn
http://yE9H3ana.nnwpz.cn
http://0DiFuxrF.nnwpz.cn
http://fBmZd04z.nnwpz.cn
http://4qqi34gA.nnwpz.cn
http://XgPa8ht9.nnwpz.cn
http://njnhd8Xl.nnwpz.cn
http://UvsNprhX.nnwpz.cn
http://ibevboHZ.nnwpz.cn
http://Or2q3IM5.nnwpz.cn
http://CRAFRtNp.nnwpz.cn
http://OB61a22a.nnwpz.cn
http://luTNJWGf.nnwpz.cn
http://XyiiRLvJ.nnwpz.cn
http://dIaB1pn1.nnwpz.cn
http://Z1xPvRoZ.nnwpz.cn
http://www.dtcms.com/a/382938.html

相关文章:

  • 如何利用redis使用一个滑动窗口限流
  • Go与Python/PHP的比较
  • JVM 运行时数据区详解:程序计数器、虚拟机栈、堆内存、方法区与直接内存
  • MongoDB $type 操作符
  • 【靶场练习】--DVWA第一关Brute Force(暴力破解)全难度分析
  • ConcatenationShortcut
  • 设计模式(C++)详解—原型模式(3)
  • 设计模式(C++)详解—原型模式(2)
  • 使用 kubeasz的ezdown部署单节点集群(aio),作为k8s集群的测试环境教程
  • pytest -- 中文文档
  • 数据库造神计划第八天---增删改查(CRUD)(4)
  • Spark专题-第一部分:Spark 核心概述(2)-Spark 应用核心组件剖析
  • LLM大模型-大模型微调(常见微调方法、LoRA原理与实战、LLaMA-Factory工具部署与训练、模型量化QLoRA)
  • 使用Docker轻松部署Neo4j图数据库
  • 【Docker+Nginx】前后端分离式项目部署(传统打包方式)
  • 基于Grafana Loki与Prometheus的日志与指标一体化监控平台实战经验分享
  • SQL 数据库简介
  • Grafana自定义dashboard与监控主流中间件
  • LabVIEW 中的振动分析与信号处理
  • 简单UDP网络程序
  • RCE绕过技术:取反与异或的深入解析与实践
  • 算法题(207):最长上升子序列(经典线性dp题)
  • 【Nginx开荒攻略】Nginx主配置文件结构与核心模块详解:从0到1掌握nginx.conf:
  • 操作系统(二) :CPU调度
  • Knockout.js DOM 数据存储模块详解
  • js趣味游戏 贪吃蛇
  • Ajax-day2(图书管理)-弹框显示和隐藏
  • 低代码平台-开发SDK设计
  • Java 线程池面试高频问题全解析
  • 【HarmonyOS】MVVM与三层架构