vue.js使用Element-ui中實現導航菜單

本文實例為大傢分享瞭vue.js使用Element-ui中實現導航菜單的具體代碼,供大傢參考,具體內容如下

寫這個的原因是因為當時寫這個功能時候element隻有效果,但是功能沒有實現,當時一頭霧水

先放圖吧

大體實現思路我先講一下不然下面代碼片段會看懵,
圈出來的左右兩部分,左邊是element復制就可實現,
右邊是跳轉的子組件。
首先創建導航菜單的vue文件,但這個文件裡面隻是引入組件,裡面使用Container佈局容器實現左右兩部分,左邊el-aside標簽中放入導航菜單的組件,右邊el-main標簽中寫<router-view></router-view>實現路由跳轉即可

導航菜單文件我起名為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中

註意設置 default-active=”$route.path”以及組件跳轉(選項一/二)的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>導航一</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")
        }
      ]
  }

至於右邊內容的one.vue以及其他vue文件的內容就自己寫即可

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: