最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3容器布局和導(dǎo)航路由實(shí)現(xiàn)示例

 更新時(shí)間:2022年06月08日 11:38:27   作者:愛(ài)吃紅薯粉  
這篇文章主要為大家介紹了vue3容器布局和導(dǎo)航路由實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

容器布局

將App.vue中的HelloWorld相關(guān)內(nèi)容注釋或刪除掉,然后將element-plus提供的布局復(fù)制過(guò)來(lái)放在App.vue中

該布局為左側(cè)菜單欄,右邊內(nèi)容區(qū),右上為頂部,典型的管理后臺(tái)風(fēng)格

<template>
  <!-- <img alt="Vue logo" src="./assets/logo.png"> -->
  <div class="common-layout">
    <el-container>
      <el-aside width="200px">
        <Menu></Menu>
      </el-aside>
      <el-container>
        <el-header height="20px">Header</el-header>
        <el-main>
          <router-view></router-view>
        </el-main>
      </el-container>
    </el-container>
  </div>
<!-- 
  <div>
      <p>
        <router-link to="/home">Go to Home</router-link>
        

        <router-link to="/about">Go to about</router-link>
        <router-view></router-view>
      </p>
    </div>
  <HelloWorld msg="Welcome to Your Vue.js App"/> -->
</template>
<script>
// import HelloWorld from './components/HelloWorld.vue'
import Menu from './components/Menu.vue'
export default {
  name: 'App',
  components: {
    // HelloWorld
    Menu
  }
}
</script>

上述代碼中有Menu.vue組件,需要新建,稍后再添加內(nèi)容

路由定義

在src目錄新建routes.js文件,將路由列表寫(xiě)入,方便其它組件使用

const routes = [
    { path: "/home", name: 'home', label: '首頁(yè)', component: () => import('./components/home.vue'), },
    { path: "/about", name: 'about', label: '關(guān)于', component: () => import('./components/about.vue'), },
]
export default routes

內(nèi)容沒(méi)有什么變化,就是將router.js 中的routes抽出來(lái),單獨(dú)寫(xiě)一個(gè)文件

router.js引入并使用routes

import { createRouter, createWebHashHistory } from 'vue-router'
import routes from './routes'
const router = createRouter({
    history: createWebHashHistory(),
    routes: routes,
})
export default router

左側(cè)菜單

在components目錄中新建Menu.vue頁(yè)面,然后將element-plus中菜單組件中Side bar 復(fù)制過(guò)來(lái)。

<template>
  <el-row class="tac">
    <el-col :span="24">
      <h5 class="mb-2">Default colors</h5>
      <el-menu default-active="2" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose">
        <el-sub-menu index="1">
          <template #title>
            <el-icon>
              <location />
            </el-icon>
            <span>Navigator One</span>
          </template>
          <router-link v-for="(item, index) in routes" :to="{ name: item.name }" :key="item.name">
            <el-menu-item :index="index">
              <span v-text="item.label"></span>
            </el-menu-item>
          </router-link>
        </el-sub-menu>
        <el-menu-item index="2">
          <el-icon>
            <icon-menu />
          </el-icon>
          <span>Navigator Two</span>
        </el-menu-item>
        <el-menu-item index="3" disabled>
          <el-icon>
            <document />
          </el-icon>
          <span>Navigator Three</span>
        </el-menu-item>
        <el-menu-item index="4">
          <el-icon>
            <setting />
          </el-icon>
          <span>Navigator Four</span>
        </el-menu-item>
      </el-menu>
    </el-col>
  </el-row>
</template>
<script>
import {
  Document,
  Menu as IconMenu,
  Location,
  Setting,
} from '@element-plus/icons-vue'
import routes from '../routes'
export default {
  name: 'Menu',
  components: { Document, IconMenu,Location, Setting },
  data() {
    return {
      routes: routes,
    }
  },
  methods: {
    handleOpen() {
      console.log("111")
    },
    handleClose() {
      console.log("222")
    },
  }
}
</script>

@element-plus/icons-vue 此包需要安裝(npm install @element-plus/icons-vue)

element-plus官網(wǎng)中的例子都是ts+setup語(yǔ)法寫(xiě)的,這里我們改成js+響應(yīng)式語(yǔ)法

列寬改成:span="24"或更大值,列寬太小會(huì)發(fā)現(xiàn)灰線在字體中間

引入定義的路由列表routes.js,將內(nèi)容循環(huán)到 router-link中

運(yùn)行效果如下

結(jié)語(yǔ):

后續(xù)加路由直接加到routes.js既可,簡(jiǎn)單的左側(cè)菜單,右側(cè)內(nèi)容區(qū)就實(shí)現(xiàn)了,以上就是vue3容器布局和導(dǎo)航路由實(shí)現(xiàn)示例的詳細(xì)內(nèi)容,更多關(guān)于vue3容器布局導(dǎo)航路由的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 基于element-ui表格的二次封裝實(shí)現(xiàn)

    基于element-ui表格的二次封裝實(shí)現(xiàn)

    本文主要介紹了基于element-ui表格的二次封裝實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • electron踩坑之dialog中的callback解決

    electron踩坑之dialog中的callback解決

    這篇文章主要介紹了electron踩坑之dialog中的callback解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • vue中$refs的用法及作用詳解

    vue中$refs的用法及作用詳解

    這篇文章主要介紹了vue中$refs的用法及作用詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-04-04
  • Vue3使用vue-office插件實(shí)現(xiàn)word預(yù)覽功能

    Vue3使用vue-office插件實(shí)現(xiàn)word預(yù)覽功能

    vue-office是一個(gè)支持多種文件(docx、.xlsx、pdf)預(yù)覽的vue組件庫(kù),支持vue2和vue3,這篇文章主要介紹了Vue3使用vue-office插件實(shí)現(xiàn)word預(yù)覽功能,需要的朋友可以參考下
    2024-04-04
  • Vue3中如何使用Three.js詳解(包括各種樣例、常見(jiàn)場(chǎng)景、問(wèn)題及解決方案)

    Vue3中如何使用Three.js詳解(包括各種樣例、常見(jiàn)場(chǎng)景、問(wèn)題及解決方案)

    Three.js是一個(gè)常見(jiàn)的需求,Three.js是一個(gè)用于在瀏覽器中創(chuàng)建和顯示動(dòng)畫(huà)3D計(jì)算機(jī)圖形的JavaScript庫(kù),這篇文章主要介紹了Vue3中如何使用Three.js的相關(guān)資料,包括各種樣例、常見(jiàn)場(chǎng)景、問(wèn)題及解決方案,需要的朋友可以參考下
    2025-04-04
  • 解決在vue的mounted中獲取對(duì)象為null問(wèn)題

    解決在vue的mounted中獲取對(duì)象為null問(wèn)題

    這篇文章主要介紹了解決在vue的mounted中獲取對(duì)象為null問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue3 響應(yīng)式高階用法之triggerRef()的使用

    Vue3 響應(yīng)式高階用法之triggerRef()的使用

    在Vue3響應(yīng)式系統(tǒng)中,shallowRef僅追蹤頂層屬性的變化,當(dāng)需要對(duì)內(nèi)層屬性作出反應(yīng)時(shí),可使用triggerRef()方法手動(dòng)觸發(fā)更新,本文介紹了triggerRef()的應(yīng)用場(chǎng)景、基本用法、功能和最佳實(shí)踐,感興趣的可以了解一下
    2024-09-09
  • nuxt踩坑之Vuex狀態(tài)樹(shù)的模塊方式使用詳解

    nuxt踩坑之Vuex狀態(tài)樹(shù)的模塊方式使用詳解

    這篇文章主要介紹了nuxt踩坑之Vuex狀態(tài)樹(shù)的模塊方式使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 深入理解vue中的$set

    深入理解vue中的$set

    這篇文章主要介紹了深入理解vue中的$set,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • vue element el-transfer增加拖拽功能

    vue element el-transfer增加拖拽功能

    這篇文章主要介紹了vue element el-transfer增加拖拽功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評(píng)論

民乐县| 阳山县| 库尔勒市| 曲麻莱县| 吉林市| 保山市| 楚雄市| 曲阜市| 富蕴县| 文登市| 利津县| 宿迁市| 佛坪县| 嘉兴市| 海丰县| 玉溪市| 新建县| 韶关市| 留坝县| 铜梁县| 贵港市| 海伦市| 宁乡县| 正宁县| 万宁市| 黑水县| 离岛区| 黔东| 斗六市| 河源市| 河西区| 罗山县| 湖南省| 清流县| 望谟县| 绵阳市| 永济市| 灵武市| 大连市| 颍上县| 荔波县|