Vue3实战笔记(20)—封装头部导航组件

61 篇文章 1 订阅
61 篇文章 0 订阅


前言

Vue 3 封装头部导航栏有助于提高代码复用性、统一风格、降低维护成本、提高可配置性和模块化程度,同时还可以实现动态渲染等功能,有利于项目开发和维护。


一、封装头部导航栏

封装头部导航栏,使用Vuetify的应用栏(App bars)组件。
新建文件AppBar.vue:
在这里插入图片描述
源码:

<template>
  <v-app-bar absolute
        density="comfortable" 
        scroll-behavior="fade-image " 
        :elevation="24"
        rounded
        app
        :collapse=false
        floating
        >

            <v-container fluid>
                <v-tabs align-tabs="center">
                    <v-tab>首页</v-tab>
                    <v-tab>山花</v-tab>
                    <v-tab>关于我们</v-tab>
                </v-tabs>
            </v-container>

            <v-btn icon>
                <v-icon>mdi:mdi-magnify</v-icon>
            </v-btn>
            <!-- 其它按钮 -->
            <v-btn icon>
                <v-icon>mdi:mdi-heart</v-icon>
            </v-btn>
            <v-btn icon>
                <v-icon>mdi:mdi-account-circle</v-icon>
            </v-btn>

        </v-app-bar>
  </template>
  <script  lang='ts' setup name="AppBar">
</script>

二、使用步骤

使用示例:

<template>
  <v-app>
    <Navigation app></Navigation>
    <v-main>
        <AppBar></AppBar>    
        <RouterView></RouterView>
    </v-main>
  </v-app>
</template>
<script lang="ts">
import Navigation from "@/components/navigation/Navigation.vue"
import { RouterView } from "vue-router";
</script>

注意我没有import封装好的AppBar组件就可以直接使用,前文中有讲过,自动引入。
效果:
在这里插入图片描述
简易的菜单栏就封装好了,以后关于导航栏的修改直接就可以更改封装的组件,十分方便。

最后记录一下遇到的小问题,昨天封装侧边导航栏时候发现图标异常,十分巨大:
在这里插入图片描述
原因是我默认使用fa字体,改回默认mdi发现图标又不见了,折腾一番把

aliases属性暂时注释解决了,后面有时间再研究一下图标,感觉这个混用图标还用的不够精通。

图标等配置备份:


/**
 * plugins/vuetify.ts
 *
 * Framework documentation: https://vuetifyjs.com`
 */

// Styles
import '@mdi/font/css/materialdesignicons.css'
import 'vuetify/styles'
// import 'material-design-icons-iconfont/dist/material-design-icons.css' // Ensure your project--Material 图标
// import '@fortawesome/fontawesome-free/css/all.css' // Ensure your project is capable of handling css files

// Composables
import { createVuetify } from 'vuetify'
import { aliases, fa } from 'vuetify/iconsets/fa'
import { mdi } from 'vuetify/iconsets/mdi'
import { md } from 'vuetify/iconsets/md'

// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides
export default createVuetify({
  //图标
  icons: {
    defaultSet: 'mdi'||'fa'|| 'mdiSvg' || 'md' || 'fa4' || 'faSvg',//多个不生效,只生效fa
    // aliases,
    sets: {
      fa,
      mdi,
      md,
    },
  },
  // theme: {
  //   defaultTheme: 'dark',
  // },
})

总结

封装头部导航栏可以确保整个项目的导航栏风格一致,提升用户体验,让用户在使用过程中感到更加舒适和自然。就是大家都有咱们也得有。

行动是实现梦想的桥梁,坚持是成功的密码。

  • 13
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值