iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue3 组件的开发详情
  • 518
分享到

Vue3 组件的开发详情

2024-04-02 19:04:59 518人浏览 安东尼
摘要

目录一、前言二、组件的开发1、组件的构成2、header部分组件的开发3、footer组件的开发4、修改App.Vue5、移除HelloWord组件及相关代码6、重启服务查看三、最后

一、前言

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

上一篇文章已经写了关于布局的开发,传送门《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 组件开发内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue3 组件的开发详情

本文链接: https://www.lsjlt.com/news/157299.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Vue3 组件的开发详情
    目录一、前言二、组件的开发1、组件的构成2、header部分组件的开发3、footer组件的开发4、修改App.vue5、移除Helloword组件及相关代码6、重启服务查看三、最后...
    99+
    2022-11-12
  • Vue3的7种种组件通信详情
    目录1、Vue3 组件通信方式2、Vue3 通信使用写法2.1 props2.2 $emit2.3 expose / ref2.4 attrs2.5 v-model2.6 provi...
    99+
    2022-11-12
  • vue3中的父子组件通讯详情
    目录一、传统的props二、通过modeValue绑定三、事件广播(vue3中$on和$emit已废弃),使用新的插件mitt一、传统的props 通过在父组件中给子组件传值,然后在...
    99+
    2022-11-13
  • Vue3搭建组件库开发环境的示例详解
    目录1 packages 目录1.1 foo 目录1.2 yyg-demo-ui 目录2 实现 foo 示例组件2.1 初始化 package.json2.2 初始化 foo 目录结...
    99+
    2022-11-16
    vue3搭建组件库 vue搭建组件库开发环境 vue组件库
  • 京东 Vue3 组件库支持小程序开发的详细流程
    源码抢先看: https://github.com/jdf2e/nutui NutUI 3.0 官网:https://nutui.jd.com/3x/ 小程序多端适配 设计初衷 在跨...
    99+
    2022-11-12
  • vue3组件化开发之可复用性的应用实例详解
    目录自定义指令基本结构自定义 v-loading 指令插件基本结构实现一个全局状态管理插件Teleport 传送相关链接总结可复用性也是组件化开发的一个优势,能让代码更加简洁优雅、方...
    99+
    2022-11-13
  • vue3怎么开发detePicker日期选择组件
    这篇文章主要介绍“vue3怎么开发detePicker日期选择组件”,在日常操作中,相信很多人在vue3怎么开发detePicker日期选择组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue3怎么开发d...
    99+
    2023-07-05
  • vue3封装京东商品详情页放大镜效果组件
    本文实例为大家分享了vue3封装类似京东商品详情页放大镜效果组件的具体代码,供大家参考,具体内容如下 首先先完成基本布局 完成图片的切换效果,通过 mouseenter 事件切...
    99+
    2022-11-12
  • Vue3中的Refs和Ref详情
    小编同样和大家分享关于Vue3中的数据相应的问题,下面我们来例举一个这样的例子 Vue.createApp({ template: `<div>{{ name...
    99+
    2022-11-12
  • 基于Python的Houdini插件开发过程详情
    本文以Python开发为例来进行说明,环境说明: (1) Python 3.x(我用的版本是 3.9 版本)(2)IDE开具 PyCharm(我用的版本是 PyCharm Commu...
    99+
    2022-11-13
  • vue3封装ECharts组件详解
    目录一、前言二、封装ECharts组件为什么要封装组件代码实现:ECharts组件:ECharts组件的用法: 一、前言 前端开发需要经常使用ECharts图表渲染数据信息...
    99+
    2023-05-18
    vue3 封装ECharts组件 vue3 封装ECharts vue3 ECharts
  • Vue组件开发之异步组件详解
    目录一、引入二、vue中的异步组件三、异步组件和suspense总结一、引入 我们在讲异步组件之前,我们再来回顾一下webpack打包时的分包操作。我们可以使用import()异步加...
    99+
    2022-11-13
  • 如何使用Vue3开发一个Pagination公共组件
    这篇文章主要讲解了“如何使用Vue3开发一个Pagination公共组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Vue3开发一个Pagination公共组件”吧!要实现的功能属...
    99+
    2023-06-25
  • vue3组件化开发常用API知识点总结
    目录组件化思想组件通讯$props$emits$parent$attrsproviede & inject插槽 slot渲染作用域作用域插槽v-model表单组件自定义组件改...
    99+
    2022-11-13
  • vue3新拟态组件库开发流程之table组件源码分析
    目录基础表格固定表头高度/流体高度自定义列宽基础表格 首先开发table组件之前,先想好要用什么样式的api,因为笔者在生产工作中用的都是element,所以前面几个组件风格和ele...
    99+
    2023-05-18
    vue3 table组件源码 vue3组件库开发
  • vue3动态组件使用详解
    目录vue2vue3markRow:标记一个对象,使其不能成为一个响应式对象。toRaw:将响应式对象(由 reactive定义的响应式)转换为普通对象。shallowRef:只处理...
    99+
    2023-02-27
    vue3中动态组件 vue3动态加载组件 vue3动态添加组件
  • vue3 父子组件传值详解
    现在距离vue3的诞生已经过了很长时间了,笔者也是近期才开始学习vue3。对比vue2来看,vue3在写法发生了不小的变化,最典型的例子就是vue3通过ref,或者reactive实...
    99+
    2022-11-12
  • Vue 组件组织结构及组件注册详情
    目录1、组件的组织2、组件名2.1 组件命名方式3、全局注册4、局部注册1、组件的组织 通常一个应用会以一棵嵌套的组件树的形式来组织: 例如:我们可能会有页头、侧边栏、内容区等组件...
    99+
    2022-11-12
  • Vue3组件间的通信方式详解
    目录1、父子组件通信1.1 defineProps1.2 provide/inject2.子父组件通信2.1 defineEmits2.2 v-model:xxx+emit在写 vu...
    99+
    2023-05-17
    Vue3组件通信 Vue3组件通信方式
  • vue3组件化开发常用API知识点有哪些
    当前前端比较流行的 Vue React 等框架,都会通过编写组件来完成业务需求,也就是组件化开发。包括小程序开发也会用到组件化开发的思想。分析组件化思想开发应用程序:将一个完整页面拆分成很多个小组件每个组件用于完成页面的一个功能模块每一个组...
    99+
    2023-05-17
    API Vue3
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作