>웹 프론트엔드 >View.js >vue3 철회 가능한 메뉴 구성 요소를 사용하는 방법

vue3 철회 가능한 메뉴 구성 요소를 사용하는 방법

WBOY
WBOY앞으로
2023-05-10 14:55:13998검색

Rendering

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

3 아래에 index.ts를 작성하고, 컨테이너 파일 아래에 src 파일을 생성한 후, src 파일 아래에 navHeader 파일을 생성하고, navHeader 파일 index.vue 아래에 생성합니다. file

vue3 철회 가능한 메뉴 구성 요소를 사용하는 방법

파일에

<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>

쓰기 4. 컴포넌트 아래에 컨테이너 파일을 생성하고, 컨테이너 파일 아래에 src 파일을 생성한 후, src 파일 아래에 navSide 파일을 생성하고, navSide 파일 아래에 인덱스를 생성합니다. 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 철회 가능한 메뉴 구성 요소를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제