我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Vue3 组件的开发详情

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Vue3 组件的开发详情

一、前言

果然长时间坐着或站着,会给腰带来很大负担,声明下我不是腰脱,就是个穿刺手术而已,身上有多处缝针没长好,所以会给肚子和腰带来一定的负担。

上一篇文章已经写了关于布局的开发,传送门《Vue3(三)网站首页布局开发 》,但是我们写代码,肯定是继承了优秀的代码风格,封装的特性,所以这里我们再对代码进行修改,抽离公共部分的footerheader部分。

二、组件的开发

headerfooter是公共的部分,每个页面都有,所以要抽离出来,然后后续的维护再App.vue中维护即可。

1、组件的构成

components下创建组件,基本结构如下:

templatescript两对标签构成

2、header部分组件的开发

如上图红圈部分所示,就是我们要进行抽离的公共部分,即组件的开发。

在components下创建组件,header部分组件代码如下:


html
<template>
    <a-layout-header class="header">
      <div class="logo" />
      <a-menu
          theme="dark"
          mode="horizontal"
          v-model:selectedKeys="selectedKeys1"
          :style="{ lineHeight: '64px' }"
      >
        <a-menu-item key="1">nav 11122</a-menu-item>
        <a-menu-item key="2">nav 2</a-menu-item>
        <a-menu-item key="3">nav 3</a-menu-item>
      </a-menu>
    </a-layout-header>
</template>

<script lang="ts">
import { defineComponent } from 'vue';

export default defineComponent({
  name: 'TheHeader',
});
</script>

3、footer组件的开发

如上图所示,就是我们要footer部分组件的开发,示例代码如下:


html
<template>
  <a-layout-footer style="text-align: center">
    软件测试君 ©2021 Created by 六哥20211017
  </a-layout-footer>
</template>

<script lang="ts">
import { defineComponent } from 'vue';

export default defineComponent({
  name: 'TheFooter',
});
</script>


4、修改App.vue

示例代码如下:


html
<template>
  <a-layout>
    <the-header></the-header>
    <router-view/>
    <the-footer></the-footer>
  </a-layout>
</template>

<style>
#components-layout-demo-top-side-2 .logo {
  float: left;
  width: 120px;
  height: 31px;
  margin: 16px 24px 16px 0;
  background: rgba(255, 255, 255, 0.3);
}

.ant-row-rtl #components-layout-demo-top-side-2 .logo {
  float: right;
  margin: 16px 0 16px 24px;
}

.site-layout-background {
  background: #fff;
}
</style>
<script>
import TheHeader from "@/components/the-header";
import TheFooter from "@/components/the-footer";

export default {
  components: {
    TheHeader,
    TheFooter
  }
}
</script>

5、移除Helloword组件及相关代码

home修改如下:


html
<template>
  <a-layout>
    <a-layout-sider width="200" style="background: #fff">
      <a-menu
          mode="inline"
          v-model:selectedKeys="selectedKeys2"
          v-model:openKeys="openKeys"
          :style="{ height: '100%', borderRight: 0 }"
      >
        <a-sub-menu key="sub1">
          <template #title>
                <span>
                  <user-outlined />
                  subnav 1
                </span>
          </template>
          <a-menu-item key="1">option1</a-menu-item>
          <a-menu-item key="2">option2</a-menu-item>
          <a-menu-item key="3">option3</a-menu-item>
          <a-menu-item key="4">option4</a-menu-item>
        </a-sub-menu>
        <a-sub-menu key="sub2">
          <template #title>
                <span>
                  <laptop-outlined />
                  subnav 2
                </span>
          </template>
          <a-menu-item key="5">option5</a-menu-item>
          <a-menu-item key="6">option6</a-menu-item>
          <a-menu-item key="7">option7</a-menu-item>
          <a-menu-item key="8">option8</a-menu-item>
        </a-sub-menu>
        <a-sub-menu key="sub3">
          <template #title>
                <span>
                  <notification-outlined />
                  subnav 3
                </span>
          </template>
          <a-menu-item key="9">option9</a-menu-item>
          <a-menu-item key="10">option10</a-menu-item>
          <a-menu-item key="11">option11</a-menu-item>
          <a-menu-item key="12">option12</a-menu-item>
        </a-sub-menu>
      </a-menu>
    </a-layout-sider>
    <a-layout-content
        :style="{ background: '#fff', padding: '24px', margin: 0, minHeight: '280px' }"
    >
      Content
    </a-layout-content>
  </a-layout>
</template>

<script lang="ts">
import { defineComponent } from 'vue';

export default defineComponent({
  name: 'Home',
});
</script>

6、重启服务查看

重新编译,再次访问页面结果如下:

三、最后

到此这篇关于Vue3(四) 组件的开发的文章就介绍到这了,更多相关Vue3 组件开发内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Vue3 组件的开发详情

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Vue3搭建组件库开发环境的示例详解

这篇文章给大家分享Vue3搭建组件库开发环境,给大家讲解依次搭建组件库、example、文档、cli,本文内容是搭建组件库的开发环境的过程,感兴趣的朋友跟随小编一起看看吧
2022-11-16

vue3怎么开发detePicker日期选择组件

这篇文章主要介绍“vue3怎么开发detePicker日期选择组件”,在日常操作中,相信很多人在vue3怎么开发detePicker日期选择组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue3怎么开发d
2023-07-05

vue3封装ECharts组件详解

前端开发需要经常使用ECharts图表渲染数据信息,在一个项目中我们经常需要使用多个图表,选择封装ECharts组件复用的方式可以减少代码量,增加开发效率。感兴趣的可以阅读一下本文
2023-05-18

vue3新拟态组件库开发流程之table组件源码分析

这篇文章主要介绍了vue3新拟态组件库开发流程——table组件源码,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-18

如何使用Vue3开发一个Pagination公共组件

这篇文章主要讲解了“如何使用Vue3开发一个Pagination公共组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Vue3开发一个Pagination公共组件”吧!要实现的功能属
2023-06-25

vue3组件化开发常用API知识点有哪些

组件化思想为什么使用组件化开发?当前前端比较流行的VueReact等框架,都会通过编写组件来完成业务需求,也就是组件化开发。包括小程序开发也会用到组件化开发的思想。分析组件化思想开发应用程序:将一个完整页面拆分成很多个小组件每个组件用于完成页面的一个功能模块每一个组件还可以细分(父子组件)通用的组件可以复用到不同的页面一个Vue的页面,应该像是棵嵌套的组件树的形式来组织:vue3入口文件:import{createApp}from&#39;vue&#39;;importAppfr
2023-05-17

Vue3组件间的通信方式详解

这篇文章主要介绍了Vue3组件间的通信方式,在使用vue时,我们经常会把不同的模块拆分成不同的组件,而组件之间有的需要传递数据,所以组件间的数据通信就非常重要了
2023-05-17

vue3动态组件使用详解

这篇文章主要介绍了vue3动态组件使用详解的相关资料,需要的朋友可以参考下
2023-02-27

编程热搜

目录