组件化开发

news2024/9/21 19:28:16

1.组件化开发

  1. 组件化:一个页面可以拆分成一个个组件,每个组件有着自己独立的结构[html]、样式[css]、行为
    [js]。
  2. 好处:便于维护,利于复用 → 提升开发效率。
  3. 组件分类:普通组件、根组件。
  4. 比如:下面这个页面,可以把所有的代码都写在一个页面中,但是这样显得代码比较混乱,难易维
    护。咱们可以按模块进行组件划分
    在这里插入图片描述
    在这里插入图片描述

2.根组件App.vue

2.1根组件介绍

在这里插入图片描述

2.2组件是由三部分构成
  • 三部分构成
    1. template:结构 (有且只能一个根元素)
    2. script: js逻辑
    3. style: 样式 (可支持less,需要装包)
  • 让组件支持less
    1. style标签,lang=“less” 开启less功能
    2. 装包: yarn add less less-loader -D 或者npm i less less-loader -D

3.普通组件的注册使用

普通组件的注册有两种方式。
(1)局部注册:
(2)全局注册

3.1普通组件的注册使用-局部注册

1.特点:
只能在注册的组件内使用
2.步骤:

  1. 创建.vue文件(三个组成部分)
  2. 在使用的组件内先导入再注册,最后使用
    3.使用方式:
    当成html标签使用即可 <组件名></组件名>
    4.注意:
    组件名规范 —> 大驼峰命名法, 如 AAAHeader
    5.语法:

// 导入需要注册的组件
// import 组件对象 from ‘.vue文件路径’
import AAAHeader from ‘./components/AAAHeader’
export default {• // 局部注册
components: {
‘组件名’: 组件对象,
AAAHeader:AAAHeader,
AAAHeader
}
}

6.练习
自定义组件:components

<template>
<div>
  <p>
    我是-Head
  </p>
</div>
</template>
<script >
</script>
<style scoped>
div{
  width: 500px;
  height: 50px;
  background-color: palevioletred;
}
p{
  line-height: 50px;
}
</style>

导入组件:App.vue

<template>
  <div id="app">
<!--   使用-->
    <Head></Head>
  </div>
</template>

<script>
// 导入组件
import Head from './components/Head.vue'
export default {
  name: 'app',
  // 注册该组件
  components: {
  //   名称:组件名
    Head:Head
  }
}
</script>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

在这里插入图片描述

3.2 普通组件的注册使用-全局注册

1.特点:
全局注册的组件,在项目的任何组件中都能使用
2.步骤
1. 创建.vue组件(三个组成部分)
2. main.js中进行全局注册
3.使用方式
当成HTML标签直接使用
<组件名></组件名>
4.注意
组件名规范 —> 大驼峰命名法, 如 AAAHeader
5.语法
Vue.component(‘组件名’, 组件对象)
6.练习
自定义一个通用组件:components

<script setup>
</script>
<template>
<div>
  <el-button type="primary">通用</el-button>
</div>
</template>
<style scoped>
</style>

导入组件:main.js

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'
// 导入组件页面
import MyButton from "@/components/MyButton.vue";
Vue.config.productionTip = false
// 注册全局组件
Vue.component('MyButton',MyButton)
new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

使用在这里插入图片描述
在这里插入图片描述

4.组件通信

1.什么是组件通信?
组件通信,就是指组件与组件之间的数据传递

  • 组件的数据是独立的,无法直接访问其他组件的数据。

  • 想使用其他组件的数据,就需要组件通信
    2.组件之间如何通信
    在这里插入图片描述
    3. 组件关系分类
    在这里插入图片描述
    在这里插入图片描述

    3.1父子通信流程
    在这里插入图片描述
    练习
    在这里插入图片描述
    在这里插入图片描述
    父向子传值步骤:

    • 给子组件以添加属性的方式传值
    • 子组件内部通过props接收
    • 模板中直接使用 props接收的值
      3.2子向父通信流程
      在这里插入图片描述
      子向父传值步骤
      • $emit触发事件,给父组件发送消息通知
      • 父组件监听$emit触发的事件
      • 提供处理函数,在函数的性参中获取传过来的参数

      5.路由介绍

      5.1思考
      在这里插入图片描述

      6.路由的基本使用

      6.1声明式使用路由
      定义组件
      在这里插入图片描述
      在这里插入图片描述
      路由渲染
      在这里插入图片描述
      配置路由
      在这里插入图片描述
      6.2编码式使用路由

在这里插入图片描述
在这里插入图片描述

6.3声明路由–查询参数

在这里插入图片描述
传参
在这里插入图片描述
接参
在这里插入图片描述
在这里插入图片描述

声明路由–动态路由参数

在这里插入图片描述
传参:App.vue
在这里插入图片描述
路由配置:index.js
在这里插入图片描述
接参:Home.vue
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1964949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二级MySQL(十二)——分组聚合查询

首先整理常用的聚合函数&#xff1a; 函数名说明COUNT&#xff08;*&#xff09;记录数COUNT&#xff08;列名&#xff09;一列的记录数MAX&#xff08;列名&#xff09;一列的最大值 MIN&#xff08;列名&#xff09; 一列的最小值 SUM&#xff08;列名&#xff09;一列…

M12电连接器航插插座L-code

M12电连接器概述 M12电连接器是一种广泛应用于工业自动化、传感器、仪器仪表、数据通信和控制系统等领域的圆形连接器。它的核心特点在于其小巧的尺寸、强大的多信号传输能力和出色的防水性能&#xff0c;使其成为众多工业应用的首选。M12连接器通常具有3至12个引脚&#xff0…

redis主从复制、哨兵模式、集群

redis集群 高可用 redis集群的三种模式&#xff1a; 1.主从复制&#xff08;奇书 3台 一主两从&#xff09; 2.哨兵模式 &#xff08;3台 一主两从&#xff09; 3.cluster &#xff08;集群 6 333&#xff09; 主从复制&#xff1a;喝MySQL的主从复制类似&#xff0c;主可以写…

vite创建Vue2项目(配图详细)

参考文章&#xff1a;vite项目生成vue3并引入element-ui vite脚手架生成vue项目及其配置_viteconfig配置-CSDN博客 Vite 默认支持 Vue 3&#xff0c;但你也可以使用 Vite 来搭建 Vue 2 的项目。不过&#xff0c;这需要一些额外的配置&#xff0c;因为 Vue 2 不支持原生的 ES …

【电子通识】什么是SIM卡/eSIM?

什么是SIM卡。 1991年&#xff0c;世界第一张SIM卡被德国捷德公司开发&#xff0c;当时的SIM卡非常大&#xff0c;和银行IC卡一样&#xff1a; SIM卡的全名是“用户识别模块”&#xff08;Subscriber Identity Module&#xff09;&#xff1a;这块镀金的电路芯片拥有身份识别功…

请大家监督:我要开启Python之路,首要任务最简单的搭建环境

任务说明&#xff1a; 如上图所示&#xff0c;Python稳稳第一&#xff0c;为何&#xff1f;因为Python可以做很多事情&#xff0c;比如&#xff1a;Web开发&#xff0c;网络爬虫&#xff0c;软件开发、数据分析、游戏开发&#xff0c;金融分析&#xff0c;人工智能与机器学习&a…

Java每日面试题(事务相关)(day5)

目录 什么是事务&#xff1f;spring事务的实现方式事务失效的8种情况 什么是事务&#xff1f; 事务是一个操作序列&#xff0c;要么全部执行成功&#xff0c;要么全部执行失败。事务有四个重要特性&#xff0c;称为 ACID 特性&#xff1a; Atomicity&#xff08;原子性&#x…

从教学到分享,2024精选录屏工具

如果你在公司里承担会议记录的职责&#xff0c;那录屏这项技能你一定要学会。像录屏大师这样的工具可以帮你在远程会议中进行录屏操作&#xff0c;方便你后期整理会议内容。 1.福昕录屏大师 链接直达&#xff1a;https://www.foxitsoftware.cn/REC/ 这款录屏工具提供了多种…

自定义线程池(二)

上节回顾 在上一节当中&#xff0c;已经实现了一个线程池&#xff0c;在本节当中&#xff0c;我们需要添加拒绝策略。这里使用到了策略模式的设计模式&#xff0c;因为拒绝策略是多种的&#xff0c;我们需要将这个权利下放给调用者&#xff08;由调用者来指定我要采取哪种策略…

代码随想录算法训练营第41天|LeetCode 121. 买卖股票的最佳时机、122.买卖股票的最佳时机II、123.买卖股票的最佳时机III

1. LeetCode 121. 买卖股票的最佳时机 题目链接&#xff1a;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock/description/ 文章链接&#xff1a;https://programmercarl.com/0121.买卖股票的最佳时机.html#思路 视频链接&#xff1a;https://www.bilibili.com/…

微调基模型

该示例用的谷歌的gemma-2b-it模型 Gemma是Google的一系列轻量级、最先进的开源模型&#xff0c;基于用于创建Gemini模型的相同研究和技术构建。它们是文本到文本、仅解码的大型语言模型&#xff0c;提供英文、开源权重、预训练变体和指令调优变体。Gemma模型非常适合各种文本生…

微软蓝屏事件:网络安全与系统稳定性的深刻反思

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 公众号&#xff1a;网络豆云计算学堂 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a; 网络豆的主页​​​​​ 写在前面 在数字化时代&#xff0c;软件更新已成为…

电测量数据交换DLMS∕COSEM组件第61部分:对象标识系统(OBIS)(下)

GB/T 17215.6的本部分规定了对象标识系统(OBIS)的总体结构并将测量设备中的所有常用数据项映射到其标识代码。OBIS为测量设备中的所有数据都提供唯一的标识符,不仅包括测量值,而且还包括仪表设备的配置或获取测量设备运行状态的抽象数据。 5.抽象对象(A=0) 5.1通用和服…

yolov10来了!用yolov10训练自己的数据集(原理、训练、部署、应用)

一、引言 YOLOv9还没热乎呢&#xff0c;YOLOv10就出来了&#xff0c;太卷了&#xff01;太快了&#xff01; 自今年2月YOLOv9发布之后&#xff0c; YOLO&#xff08;You Only Look Once&#xff09; 系列的接力棒传到了清华大学研究人员的手上。YOLOv10推出的消息引发了AI界的…

【第七天】TCP三次握手四次挥手 HTTP的keep-Alive和TCP的keepalive

TCP三次握手四次挥手 既然要了解这些&#xff0c;首先我们要清楚一个概念&#xff0c;半连接队列和全连接队列&#xff1a; 在TCP三次握手中&#xff0c;Linux内核会维护两个队列来管理连接请求。 这两个队列的存在是为了处理并发连接请求&#xff0c;确保服务端能够有效管理新…

设计模式17-适配模式

设计模式17-适配模式 动机定义与结构C代码推导总结应用具体应用示例 动机 在软件系统中由于应用环境的变化常常需要将一些现存的对象。放到新的环境中去应用。但是新环境要求的接口是这些现存对象所不满足的。那么这种情况下如何应对这种迁移的变化&#xff1f;如何既能利用现…

《零散知识点 · SpringBoot 整合邮件功能》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

光伏气象仿真系统主要功能点

光伏电站的效能与经济效益受气象条件、地理位置、设计布局等多种因素影响显著。因此&#xff0c;光伏气象仿真系统应运而生&#xff0c;成为提升光伏项目规划、设计、运营管理水平的重要工具。该系统集成了气象数据分析、发电量分析、投融资分析、损耗估算分析及光伏设计等多项…

重磅惊喜!OpenAI突然上线GPT-4o超长输出模型!「Her」高级语音模式已开放测试

在最近的大模型战争中&#xff0c;OpenAI似乎很难维持霸主地位。虽然没有具体的数据统计&#xff0c;但Claude3.5出现后&#xff0c;只是看网友们的评论&#xff0c;就能感觉到OpenAI订阅用户的流失&#xff1a; Claude3.5比GPT-4o好用&#xff0c;为什么我们不去订阅Claude呢&…

【TS】基础(一)

TS基础学习 TS(TypeScript)TS的特性TS的优缺点优点缺点 TS和JS的区别TS常用类型原始类型数组类型别名 type联合类型 |函数对象接口 interface继承 extendsinterface和type的区别 类型断言枚举enum任意类型any TS(TypeScript) TS是JS类型的超集&#xff08;在JavaScript的基础上…