ホームページ  >  記事  >  ウェブフロントエンド  >  vue3 格納式メニュー コンポーネントの使用方法

vue3 格納式メニュー コンポーネントの使用方法

WBOY
WBOY転載
2023-05-10 14:55:13937ブラウズ

レンダリング

vue3 格納式メニュー コンポーネントの使用方法

1. コンポーネントの下にコンテナ ファイルを作成し、コンテナ ファイルの下に src ファイルを作成し、src ファイルの下にindex.vue ファイルを作成します。

vue3 格納式メニュー コンポーネントの使用方法

このファイルに書き込みます

<template>
    <div class="common-layout">
      <el-container>
        <el-aside width="auto">
<!--        侧边菜单栏组件-->
        <nav-side v-model:collapse="isCollapse"></nav-side>
        </el-aside>
        <el-container>
          <el-header>
<!--          头部组件-->
            <nav-header v-model:collapse="isCollapse"></nav-header>
          </el-header>
          <el-main>
            <router-view></router-view>
          </el-main>
        </el-container>
      </el-container>
    </div>
</template>
<script lang="ts" setup>
import {ref} from &#39;vue&#39;
import navHeader from &#39;./navHeader/index.vue&#39;
import navSide from &#39;./navSide/index.vue&#39;
const isCollapse=ref<boolean>(false)
 
</script>
 
<style lang="scss" scoped>
 
.el-header {
 padding: 0;
  border-bottom: 1px solid #eeeeee;
}
</style>

2. ルーター ファイル

// @ts-ignore
import { createRouter, createWebHistory, RouteRecordRaw } from &#39;vue-router&#39;
const routes: Array<RouteRecordRaw> = [
    {
        path:&#39;/&#39;,
        component:()=>import(&#39;../components/container/src/index.vue&#39;),
        children:[
            {
                path: &#39;/&#39;,
                name: &#39;home&#39;,
                component:()=>import(&#39;../view/home.vue&#39;),
            }
        ]
    },
 
]
 
const router = createRouter({
    history: createWebHistory(),
    routes
})
 
export default router

の下に、index.ts に書き込みます

<template>
  <div class="header">
    <div @click="shrink">
<!--        伸缩图标-->
      <Expand v-if="collapse==true"></Expand>
      <Fold v-else></Fold>
    </div>
  </div>
</template>
 
<script lang="ts" setup>
import {ref} from &#39;vue&#39;
let props=defineProps<{
  collapse:Boolean
}>()
let emits=defineEmits([&#39;update:collapse&#39;])
const shrink=()=>{
  emits(&#39;update:collapse&#39;,!props.collapse)
}
</script>
 
<style lang="scss" scoped>
.header {
  height: 60px;
  padding: 0 20px;
  display: flex;
  align-items: center;
}
</style>

3. コンポーネント内に以下のコンテナ ファイルを作成し、コンテナ ファイルの下に src ファイルを作成し、src ファイルの下に navHeader ファイルを作成し、navHeader ファイルの下にindex.vue ファイルを作成します。 4. コンポーネントの下にコンテナ ファイルを作成し、コンテナ ファイルの下に src ファイルを作成し、src ファイルの下に navSide ファイルを作成し、navSide ファイルの下にindex.vue ファイルを作成します。 vue3 格納式メニュー コンポーネントの使用方法

ファイルに

<template>
  <el-menu
      default-active="1"
      class="el-menu-vertical-demo"
      :collapse="collapse"
  >
    <el-menu-item index="1">
      <el-icon><House></House></el-icon>
      <template #title>导航一</template>
    </el-menu-item>
    <el-menu-item index="2">
      <el-icon><Message></Message></el-icon>
      <template #title>导航二</template>
    </el-menu-item>
    <el-menu-item index="3">
      <el-icon><Grid></Grid></el-icon>
      <template #title>导航三</template>
    </el-menu-item>
    <el-menu-item index="4">
      <el-icon><Tools></Tools></el-icon>
      <template #title>导航四</template>
    </el-menu-item>
  </el-menu>
</template>
 
<script lang="ts" setup>
import {ref} from &#39;vue&#39;
let props=defineProps<{
  collapse:Boolean
}>()
</script>
 
<style lang="scss" scoped>
.el-menu-vertical-demo:not(.el-menu--collapse) {
  width: 200px;
  min-height: 400px;
}
</style>

と書き込みます。これは、格納可能なメニュー バー コンポーネントをカプセル化するコードです。 vue3 格納式メニュー コンポーネントの使用方法

以上がvue3 格納式メニュー コンポーネントの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。