国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue3.0+element Plus實(shí)現(xiàn)頁面布局,側(cè)邊欄菜單路由跳轉(zhuǎn)

這篇具有很好參考價(jià)值的文章主要介紹了vue3.0+element Plus實(shí)現(xiàn)頁面布局,側(cè)邊欄菜單路由跳轉(zhuǎn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一.?先在router.js文件中配置路由,將側(cè)邊欄中需要跳轉(zhuǎn)的頁面都添加到children中

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: "/project",
      name: "projectGroup",
      meta: {
        requiresAuth: true,
        title: "項(xiàng)目列表",
        navBreadcrumb: [
          { label: "項(xiàng)目列表", name: "projectSample", link: true },
        ],
      },
      component: () => import("../views/project/Index.vue"),
      children: [
        {
          path: "sample/:id",
          name: "projectGroup:sample",
          meta: {
            requiresAuth: true,
            title: "項(xiàng)目列表",
            navBreadcrumb: [
              { label: "項(xiàng)目列表", name: "projectSample", link: true },
            ],
          },
          component: () => import("../views/project/Sample.vue"),
        },
        {
          path: "alg/:id",
          name: "projectGroup:alg",
          meta: {
            requiresAuth: true,
            title: "項(xiàng)目列表",
            navBreadcrumb: [
              { label: "項(xiàng)目列表", name: "projectSample", link: true },
            ],
          },
          component: () => import("../views/project/Alg.vue"),
        },
      ],
    },
  ],
});

二. 在view目錄下新建一個(gè)文件,里面包含側(cè)邊欄要跳轉(zhuǎn)的頁面

elementplus側(cè)邊欄路由,vue.js,javascript,前端

三.? 頁面樣式布局

1.?我選擇使用自定義組件BaseLayout.vue文件來設(shè)置header和aside樣式顯示

<template>
  <el-config-provider namespace="ep" :locale="zhCn">
//BaseHeader是我自己的定義的組件,為當(dāng)前頁面的頭部
    <div class="top-header">
      <BaseHeader />
      <div>
        <user-avatar />
      </div>
    </div>
    <div class="app-main" v-if="userInfo !== null">
//BaseSide 自定義組件,為當(dāng)前頁面的側(cè)邊欄
      <div class="base-side-main" v-if="props.hasBaseSide"><BaseSide /></div>
      <div
        :class="['content-main', mainClass]"
        :style="{ left: props.hasBaseSide ? '64px' : '0' }"
      >
        <slot></slot>
      </div>
    </div>
  </el-config-provider>
</template>

也可以使用element?plus中的Container 布局容器?

elementplus側(cè)邊欄路由,vue.js,javascript,前端

?2.?BaseHeader.vue文件里面為頁面頭部樣式,頭部樣式相對(duì)簡(jiǎn)單

<template>
  <div class="top-nav-bar">
    <div class="app-title">
      <router-link :to="{ name: 'home' }"> 病理圖像AI自訓(xùn)練中臺(tái) </router-link
      ><el-tag
        effect="dark"
        type="danger"
        style="margin-left: 10px"
        v-if="envMode === 'test'"
      >
        測(cè)試版
      </el-tag>
    </div>
    <el-menu
      class="el-menu-bar"
      mode="horizontal"
      :ellipsis="false"
      :defaultActive="menuActive"
    >
      <el-menu-item index="3" @click="goPage('/dashboard')"
        >控制臺(tái)</el-menu-item
      >
      <el-menu-item index="1" @click="goPage('/alg')">我的算法</el-menu-item>
      <el-menu-item index="2" @click="goPage('/market')">應(yīng)用市場(chǎng)</el-menu-item>
      <el-menu-item index="4" @click="goPage('/project')"
        >項(xiàng)目列表</el-menu-item
      >
    </el-menu>
  </div>
</template>

3. BaseSide.vue文件里面是側(cè)邊欄樣式,這里是重點(diǎn)?。?!這里進(jìn)行頁面路由跳轉(zhuǎn)設(shè)置

<template>
  <el-menu
    class="el-menu-vertical-demo"
    @open="handleOpen"
    @close="handleClose"
  >
    <div v-for="i in listProject?.ListProjectByTenant" :key="i.id">
//因?yàn)槲业膫?cè)邊欄數(shù)據(jù)是需要?jiǎng)討B(tài)獲取的,所以這里的index不能相同,否則幾個(gè)側(cè)邊欄會(huì)同時(shí)展開時(shí)
      <el-sub-menu :index="i">
        <template #title>{{ i.name }}</template>
        <el-menu-item index="alg">
//這里使用<router-link>,通過屬性to來進(jìn)行跳轉(zhuǎn),里面的name就是剛才在router.js文件中設(shè)置的,params這里包含的是路由跳轉(zhuǎn)時(shí)傳遞的參數(shù)
          <router-link
            :to="{
              name: 'projectGroup:alg',
              params: { id: i.id, name: i.name },
            }"
            >算法</router-link
          >
        </el-menu-item>
        <el-menu-item index="sample"
          ><router-link
            :to="{
              name: 'projectGroup:sample',
              params: { id: i.id, name: i.name },
            }"
            >樣本</router-link
          ></el-menu-item
        >
      </el-sub-menu>
    </div>
  </el-menu>
</template>

四.?index.vue文件中引入剛才的組件

<template>
//因?yàn)槲业臄?shù)據(jù)是動(dòng)態(tài)獲取,所以要先判斷一下是否有數(shù)據(jù),有數(shù)據(jù)再顯示側(cè)邊欄
  <BaseLayout :hasBaseSide="isProjectLoaded && projectListData.length">
    <PaddingLayout>
      <el-card class="table-card" shadow="never">
        <router-view></router-view>
      </el-card>
    </PaddingLayout>
  </AlgProjectLayout>
</template>

樣式如下:

elementplus側(cè)邊欄路由,vue.js,javascript,前端文章來源地址http://www.zghlxwxcb.cn/news/detail-546377.html

到了這里,關(guān)于vue3.0+element Plus實(shí)現(xiàn)頁面布局,側(cè)邊欄菜單路由跳轉(zhuǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Vue3 + Element Plus 實(shí)現(xiàn)動(dòng)態(tài)標(biāo)簽頁及右鍵菜單

    Vue3 + Element Plus 實(shí)現(xiàn)動(dòng)態(tài)標(biāo)簽頁及右鍵菜單

    目錄 先上圖 ?使用el-dropdown綁定右鍵菜單,為每個(gè)tab頁綁定一個(gè)右鍵 右鍵菜單生效后控制每個(gè)下拉項(xiàng)的禁用與顯示(每一項(xiàng)代表一個(gè)功能) 每個(gè)右鍵項(xiàng)對(duì)應(yīng)的功能? 控制每次只顯示一個(gè)右鍵 完整代碼 ????????只有首頁的情況 ????????多個(gè)tab頁的情況 ?

    2024年02月07日
    瀏覽(23)
  • Vue3后臺(tái)管理系統(tǒng)Element-plus_側(cè)邊欄制作_無限遞歸

    Vue3后臺(tái)管理系統(tǒng)Element-plus_側(cè)邊欄制作_無限遞歸

    在home.view中添加代碼 ?2 創(chuàng)建一個(gè)全局組件 ?效果如圖

    2024年02月09日
    瀏覽(23)
  • vue3+element Plus實(shí)現(xiàn)彈框的拖拽、可點(diǎn)擊底層頁面功能

    vue3+element Plus實(shí)現(xiàn)彈框的拖拽、可點(diǎn)擊底層頁面功能

    ?1、template部分 必須加的屬性 ? ? ? ? modal:是否去掉遮罩層 ? ? ? ? close-on-click-modal:是否可以通過點(diǎn)擊modal關(guān)閉Dialog ? ? ? ? draggable:開啟拖拽功能 2、css部分 網(wǎng)上查找的資料,css需要修改pointer-events,主要的作用是 設(shè)置元素是否對(duì)鼠標(biāo)事件做出反應(yīng) ? 因?yàn)?.el-overlay-dialog的父

    2024年02月05日
    瀏覽(34)
  • 【Vue3 博物館管理系統(tǒng)】使用Vue3、Element-plus菜單組件構(gòu)建前臺(tái)用戶菜單

    【Vue3 博物館管理系統(tǒng)】使用Vue3、Element-plus菜單組件構(gòu)建前臺(tái)用戶菜單

    第一章 定制上中下(頂部菜單、底部區(qū)域、中間主區(qū)域顯示)三層結(jié)構(gòu)首頁 第二章 使用Vue3、Element-plus菜單組件構(gòu)建菜單 [第三章 使用Vue3、Element-plus菜單組件構(gòu)建輪播圖] [第四章 使用Vue3、Element-plus菜單組件構(gòu)建組圖文章] 上一章節(jié)給我們把博物館管理系統(tǒng)打了個(gè)地基,基本

    2024年02月13日
    瀏覽(36)
  • vue3 element-plus動(dòng)態(tài)菜單及動(dòng)態(tài)圖標(biāo)

    引入element-plus 注冊(cè)圖標(biāo)組件 動(dòng)態(tài)引入圖標(biāo)代碼 完整代碼 路由如下

    2024年01月18日
    瀏覽(50)
  • Vue3+Element-Plus 實(shí)現(xiàn)用戶列表頁面的UI結(jié)構(gòu)及動(dòng)態(tài)加載表單功能 三一

    Vue3+Element-Plus 實(shí)現(xiàn)用戶列表頁面的UI結(jié)構(gòu)及動(dòng)態(tài)加載表單功能 三一

    1.1 頭部是一個(gè)面包屑?(Breadcrumb)導(dǎo)航區(qū)域 1.2 白色區(qū)域是一個(gè)卡片(Card)視圖 1.3 卡片 (Card)視圖中嵌套了 ? 輸入框(Input )、 按鈕(Button)、 表單(Form)、分頁(Pagination ) Breadcrumb 面包屑 | Element Plus (gitee.io) https://element-plus.gitee.io/zh-CN/component/breadcrumb.html ?2.1.1 復(fù)制

    2023年04月09日
    瀏覽(32)
  • vue3后臺(tái)管理系統(tǒng)實(shí)現(xiàn)動(dòng)態(tài)側(cè)邊導(dǎo)航菜單管理(ElementPlus組件)

    vue3后臺(tái)管理系統(tǒng)實(shí)現(xiàn)動(dòng)態(tài)側(cè)邊導(dǎo)航菜單管理(ElementPlus組件)

    記住 一級(jí)(el-sub-menu)的都是只是展示的 點(diǎn)擊跳轉(zhuǎn)的都是一級(jí)下的子級(jí)(el-menu-item) 完整展示 1:在登陸功能進(jìn)行登陸 獲取menu列表 注冊(cè)路由表的時(shí)候 把文件進(jìn)行創(chuàng)建好 因?yàn)樽?cè)的方法需要獲取這個(gè)路徑 整個(gè)router下的main product等等都要?jiǎng)?chuàng)建 2:側(cè)邊菜單界面 router/index.ts

    2024年02月16日
    瀏覽(31)
  • Vue3+element-plus 后臺(tái)管理系統(tǒng)(含登陸注冊(cè)功能頁面)

    Vue3+element-plus 后臺(tái)管理系統(tǒng)(含登陸注冊(cè)功能頁面)

    最近在學(xué)習(xí)Vue3,記錄一下自己從0開始搭建后臺(tái)框架,并獲取遠(yuǎn)程接口數(shù)據(jù)對(duì)頁面的渲染 本次功能實(shí)現(xiàn)主要包括:連接后端的遠(yuǎn)程接口數(shù)據(jù)進(jìn)行登錄注冊(cè)功能實(shí)現(xiàn) : 1.本次登陸注冊(cè)合并為了一個(gè)頁面,頁面都使用了element-plus中的組件渲染,更加美觀 2.用route路由實(shí)現(xiàn)不同頁面邏輯跳

    2023年04月26日
    瀏覽(22)
  • vue3+elementui-plus實(shí)現(xiàn)無限遞歸菜單

    vue3+elementui-plus實(shí)現(xiàn)無限遞歸菜單

    效果圖 實(shí)現(xiàn)方式是:通過給定的數(shù)據(jù)結(jié)構(gòu)層數(shù)來動(dòng)態(tài)生成多級(jí)菜單 下面的方法可以實(shí)現(xiàn)重置菜單選項(xiàng)為默認(rèn)項(xiàng)(需求場(chǎng)景:左側(cè)菜單切換時(shí),上方菜單就要重置為默認(rèn)選項(xiàng)) 通過給el-menu添加:key=\\\"menuKey\\\"實(shí)現(xiàn)。 實(shí)現(xiàn)原理::key=“menuKey” 是 Vue 中的一個(gè)特殊語法,用于控制組件

    2024年04月24日
    瀏覽(31)
  • element ui NavMenu 實(shí)現(xiàn)側(cè)邊欄導(dǎo)航菜單

    element ui NavMenu 實(shí)現(xiàn)側(cè)邊欄導(dǎo)航菜單

    ? 根據(jù)v-for遍歷菜單參數(shù),渲染導(dǎo)航欄。 使用Element UI 的 Container 布局容器和NavMenu導(dǎo)航菜單組件,使用router-view存放二級(jí)路由出口。 html: js: router/index.js:? 配置路由 ?

    2024年02月08日
    瀏覽(92)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包