vue.js使用Element-ui實現(xiàn)導(dǎo)航菜單
本文實例為大家分享了vue.js使用Element-ui中實現(xiàn)導(dǎo)航菜單的具體代碼,供大家參考,具體內(nèi)容如下
寫這個的原因是因為當(dāng)時寫這個功能時候element只有效果,但是功能沒有實現(xiàn),當(dāng)時一頭霧水
先放圖吧

大體實現(xiàn)思路我先講一下不然下面代碼片段會看懵,圈出來的左右兩部分,左邊是element復(fù)制就可實現(xiàn),右邊是跳轉(zhuǎn)的子組件。
首先創(chuàng)建導(dǎo)航菜單的vue文件,但這個文件里面只是引入組件,里面使用Container布局容器實現(xiàn)左右兩部分,左邊el-aside標(biāo)簽中放入導(dǎo)航菜單的組件,右邊el-main標(biāo)簽中寫<router-view></router-view>實現(xiàn)路由跳轉(zhuǎn)即可
導(dǎo)航菜單文件我起名為Elnav.vue
<template>
<div class="app">
<el-container>
<el-aside>
<navmenu></navmenu>
</el-aside>
<el-main>
<router-view></router-view>
</el-main>
</el-container>
</div>
</template>
<script>
import navmenu from './navmenu'
export default {
data() {
return {
}
},
components:{
navmenu
}
}
</script>
<style scoped>
</style>
里面主要引入navmenu組件(navmenu組件就是elemet中的樣式)
navmenu.vue中
注意設(shè)置 default-active="$route.path"以及組件跳轉(zhuǎn)(選項一/二)的index值
<template>
<div>
<el-row>
<el-col>
<el-menu
default-active="$route.path"
router
class="el-menu-vertical-demo"
@open="handleOpen"
@close="handleClose"
>
<el-submenu index="1">
<template slot="title">
<i class="el-icon-location"></i>
<span>導(dǎo)航一</span>
</template>
<el-menu-item-group>
<template slot="title">分組一</template>
<el-menu-item index="/Elnav/one">選項1</el-menu-item>
<el-menu-item index="/Elnav/two">選項2</el-menu-item>
</el-menu-item-group>
<el-menu-item-group title="分組2">
<el-menu-item index="1-3">選項3</el-menu-item>
</el-menu-item-group>
<el-submenu index="1-4">
<template slot="title">選項4</template>
<el-menu-item index="1-4-1">選項1</el-menu-item>
</el-submenu>
</el-submenu>
</el-menu>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
methods: {
handleOpen(key, keyPath) {
console.log(key, keyPath);
},
handleClose(key, keyPath) {
console.log(key, keyPath);
}
},
mounted() {
console.log(this.$route);
}
};
</script>
<style>
</style>
接下來就是路由的配置
{
path: "/Elnav",
name: "Elnav",
component: () =>
import("../components/Elnav.vue"),
children:[
{
path: "/Elnav/one",
name: "one",
component: () =>
import("../components/one.vue")
},
{
path: "/Elnav/two",
name: "two",
component: () =>
import("../components/two.vue")
}
]
}
至于右邊內(nèi)容的one.vue以及其他vue文件的內(nèi)容就自己寫即可
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue3結(jié)合ts從零實現(xiàn)vueuse的useRouteQuery方法
這篇文章主要為大家詳細介紹了如何使用vue3與ts從零實現(xiàn)一個類vueuse的useRouteQuery方法,并解決vueuse的useRouteQuery方法存在的一些問題,感興趣的可以了解下2024-03-03
vue 實現(xiàn)搜索的結(jié)果頁面支持全選與取消全選功能
這篇文章主要介紹了vue 實現(xiàn)搜索的結(jié)果頁面支持全選與取消全選功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05

