亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Vue3實現簡約型側邊欄的示例代碼

瀏覽:2日期:2022-06-13 15:13:51
目錄1、首先配置好路由地址2、然后實現頁面入口3、然后實現AAAAAA和BBBBBB頁面

有時遇到一些需求,需要實現左邊側邊欄為父級菜單,右側內容區的頂部為子級菜單,以及其底部為子級菜單對應的模塊內容。

如此,簡單實現如下:

1、首先配置好路由地址

【如:/src/router/index.ts】

import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'const routes: Array<RouteRecordRaw> = [ { path: '/', redirect: '/xxxxxx' }, { path: '/xxxxxx', name: '帥龍之龍', component: () => import('@/views/XXXXXX/index.vue'), children: [ {path: '/xxxxxx/aaaaaa',name: '赤龍神帝',components: { AAAAAA: () => import('@/views/XXXXXX/AAAAAA/index.vue') },children: [] }, {path: '/xxxxxx/bbbbbb',name: '待定欄目',components: { BBBBBB: () => import('@/views/XXXXXX/BBBBBB/index.vue') },children: [], }, ] }]const router = createRouter({ history: createWebHashHistory(), routes})export default router2、然后實現頁面入口

【如:/src/views/XXXXXX/index.vue】

<template> <div class='index-page'> <div class='index-page-navbar'> <div :class='activePage == 'AAAAAA' ? 'index-page-navbar-active' : ''' @click='handleNavbarItemClick('AAAAAA')'><span>赤龍神帝</span> </div> <div :class='activePage == 'BBBBBB' ? 'index-page-navbar-active' : ''' @click='handleNavbarItemClick('BBBBBB')'><span>待定欄目</span> </div> </div> <div class='index-page-content'> <router-view name='AAAAAA' v-if='activePage == 'AAAAAA'' /> <router-view name='BBBBBB' v-if='activePage == 'BBBBBB'' /> </div> </div></template><script>export default { data () { return { // 當前激活的頁面 activePage: '', } }, watch: { }, created() { this.init() }, mounted() { // 設置頁面標題 document.title = '帥龍之龍' }, methods: { /** * 獲取初始化參數 */ async init() { this.activePage = 'AAAAAA' const query = this.$route.query this.handleMatchRouter(this.activePage) }, /** * 激活頁面句柄 */ handleActivePageChange(activePage) { // 點擊 el-tab 頁面時,將 this.$route.query 置為 {} this.$route.query = {} this.handleMatchRouter(activePage) }, /** * 激活頁面句柄 */ handleMatchRouter(activePage) { const path = this.$route.path const b = path.toLowerCase().includes(activePage.toLowerCase()) if (activePage == 'AAAAAA') {if (!b) { this.$router.push({ path: '/xxxxxx/aaaaaa', query: this.$route.query, }) } } else if (activePage == 'BBBBBB') {if (!b) { this.$router.push({ path: '/xxxxxx/bbbbbb', query: this.$route.query, })} } }, /** * 點擊側邊導航欄 */ handleNavbarItemClick(item) { this.activePage = item this.$route.query = {} this.handleMatchRouter(item) }, }}</script><style lang='less' scoped> .index-page { display: flex; flex-direction: row; width: 100%; height: 100%; position: relative; background-color: #fff; .index-page-navbar { flex: none; width: 40px; height: 100%; border-right: 1px solid #dfe1e6; .index-page-navbar-item {display: grid;width: 100%;height: 150px;background-color: #fff;border-bottom: 1px solid #dfe1e6;writing-mode: tb-rl;text-align: center;align-items: center;user-select: none;cursor: pointer;transition: all ease 0.3s;span { color: #303133; font-size: 14px; letter-spacing: 1.5px;} } .index-page-navbar-active {background-color: #5e7ce0;span { color: #fff;} } } .index-page-content { flex: 1; position: relative; height: 100%; margin: 0; padding: 0; overflow: hidden; } }</style>3、然后實現AAAAAA和BBBBBB頁面

【如:/src/views/XXXXXX/AAAAAA/index.vue /src/views/XXXXXX/BBBBBB/index.vue】

<template> <div style='width: 100%; height: 100%; display: grid; align-items: center; text-align: center'> <span style='color: #303133; font-size: 14px;'>HelloWorld!...</span> </div></template>

4、效果如下:~

到此這篇關于Vue3實現簡約型側邊欄的示例代碼的文章就介紹到這了,更多相關Vue3 側邊欄內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 欧美精品无需播放器在线观看 | 手机看片自拍自拍自拍 | 欧美成人午夜 | 爱综合网 | 调教~奴●メイドの馆 | 欧美精品国产一区二区三区 | 国产综合图区 | 一级黄黄色片 | 国内精品久久久久影院不卡 | 一区二区在线播放福利视频 | 日韩精品一区二区三区小说 | 天堂mv亚洲mv在线播放9蜜 | 视频在线观看一区二区 | 国产免费啪视频观看网站 | 91免费精品国偷自产在线在线 | a一级毛片 | 一级一级一级一级毛片 | 亚洲色图日韩精品 | 亚洲中国日本韩国美国毛片 | 免费免费啪视频在线 | 免费国产一区 | 久久久久777777人人人视频 | www在线观看免费视频 | 国产91在线精品 | 国产免费色视频 | 天天看a | 最新国产成人盗摄精品视频 | 男女免费高清在线爱做视频 | 中文字幕欧美日韩高清 | 亚洲美女黄色片 | 黄色录像在线免费观看 | 亚洲国产一区二区三区 | 欧美黄色一级视频 | 综合图片区 | 青青视频免费 | 亚洲影院一区 | 国产精品主播 | 色亚洲视频 | 成 人 黄 色视频免费播放 | 日韩精品你懂的在线播放 | 伊人色婷婷 |