Vue 组件基础(五)

一、Vue 组件的基础概念

     组件(Component)是Vue最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue的编译器为它添加特殊功能。每个组件负责一部分特定的任务,比如:显示一个按钮、一个表单或者一个复杂的页面布局。

    Vue让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树。

组件的作用 

  1. 提高可维护性:将应用拆分成多个小的组件,使得每个组件的功能相对单一,易于理解和修改。当应用的某个部分出现问题时,可以快速定位到相应的组件进行修复。
  2. 可复用性:一旦创建了一个组件,可以在不同的地方重复使用,减少代码重复。例如,一个通用的输入框组件可以在多个页面中使用。
  3. 团队协作:不同的开发人员可以同时开发不同的组件,提高开发效率。

二、创建和注册组件 

1、 单文件组件(SFC)

单文件组件是 Vue 中推荐的组件编写方式,它将一个组件的模板、脚本和样式写在一个以 .vue 为后缀的文件中。

<template>
	<div>
		<el-button @click="count++">点我 {{count}}</el-button>
	</div>
</template>

<script setup>
	import {ref} from 'vue'
	const count=ref(100)
</script>

<style>
   .el-button{
	   background: bisque;
   }
</style>

2 、全局组件注册

使用 Vue.component() 方法进行全局注册

main.js主入口文件中注册全局组件

 

一旦全局注册了组件,就可以在任何新创建的Vue实例/组件的模板中作为自定义元素使用。

 

注意: 全局注册应谨慎使用,因为这会污染Vue的全局作用域,可能导致命名冲突。通常建议只对基础结构或者第三方组件进行全局注册,而对于应用特有的组件,最好在局部注册。 

3、 局部组件注册

在使用 <script setup> 的单文件组件中,导入的组件可以直接在模板中使用,无需注册:

<template>
	<div>
		 <h1>这是子组件!</h1>
		 <MyComponentVue></MyComponentVue>
	</div>
</template>

<script setup>
	import MyComponentVue from './MyComponent.vue';
</script>

<style>
</style>

三、组件命名格式

组件的命名可以使用驼峰式命名法或短横线分隔命名法。在注册组件时,需要保持命名的一致性;

  1. 使用 驼峰标识符(组件名:MyComponet)     <MyComponent></MyComponent>

  2. 使用 短横线分隔符(组件名:my-component)<my-component></my-component> 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring学习笔记(一)

一 、Spring概述 (一)Spring是什么 Spring是一个分层的Java SE/EE full-stack&#xff08;一站式&#xff09;轻量级开源框架&#xff0c;以 IoC&#xff08;Inverse Of Control&#xff1a;反转控制&#xff09;和 AOP&#xff08;Aspect Oriented Programming&#xff1a;面…

数码身份与隐私保护挑战,未来监控社会如何应对?

内容概要 在这个数字化飞速发展的时代&#xff0c;数码身份如雨后春笋般涌现&#xff0c;似乎每个人都在网络的宇宙中拥有自己的“数字分身”。但随着这一现象的发展&#xff0c;隐私保护的挑战随之而来&#xff0c;就像一只藏在角落里的猫&#xff0c;随时可能蹦出来让你手足…

智慧商城项目-VUE2

实现效果 项目收获 通过本项目的练习&#xff0c;可以掌握以下内容&#xff1a; 创建项目 ##基本创建 基于 VueCli 自定义创建项目架子,并对相关的配置进行选择 vue create demo-shopping调整目录 删除文件 删除初始化的一些默认文件 src/assets/logo.pngsrc/components…

【Android】使用productFlavors构建多个变体

项目需求 在一个设备上安装两个一样的程序app 需求解决 我们知道每一个app都有一个包名的&#xff0c;如果一个app在Android设备上安装之后&#xff0c;再安装这个app的话会进行覆盖安装&#xff0c;因为他们两个的包名是一样的&#xff0c;默认是一个app。 但是我们现在需…

File和InputStream,OutputStream

目录 认识⽂件 树型结构组织 和 ⽬录 ⽂件路径&#xff08;Path&#xff09; 文件的种类 File类 属性 构造方法 方法 代码示例 文件内容的读写——数据流 java中提供了一组类表示流 1.字节流 2.字符流 InputStream概述 方法 说明 FileInputStream概述 构造方法…

docker镜像仓库实战

docker镜像仓库实战 搭建一个nginx服务基础知识(Web服务器)查找nginx镜像拉取镜像启动nginx镜像 搭建一个nginx服务 基础知识(Web服务器) Web 服务器&#xff0c;一般是指“网站服务器”&#xff0c;是指驻留于互联网上某种类型计算机的程序。Web 服务器可以向 Web 浏览器等客…

[Redis] Redis主从复制模式

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

VisionPro —— CogPatInspectTool对比工具

一、CogPathInspectTool工具简介 CogPathInspectTool是VisionPro重要的工具&#xff0c;主要用于缺陷检测&#xff0c;通过将当前图像与“训练图像”对比&#xff0c;获取“原始差异图像”&#xff0c;再将“原始差异图像”与“阈值图像”进行对比&#xff0c;进而获取“阈值差…

Git 基础详解

1. 基本概念 Git是一个免费、开源的 分布式版本控制系统&#xff0c;可以高效处理小到大型的各种项目。 1.1 版本控制 版本控制&#xff1a;它是一种用于追踪和记录文件、目录、项目或软件的变化&#xff0c;以便将来查阅、比较、修订不同版本文件的系统 版本控制系统&…

博通网络交换芯片

参考视频&#xff1a;不懂网络芯片秒怂? 航家带你提逼格 | #1 博通Trident芯片系列_哔哩哔哩_bilibili

Java入门十三——继承(super)

大家好&#xff0c;今天怒更两篇hhhhh&#xff0c;干货满满&#xff01; 一、继承 今天我们要讲的内容是继承~这次我们依然拿动物举例&#xff01; 首先&#xff0c;我们创建了一个鸟类&#xff08;不是骂人啊&#xff0c;就是bird鸟类&#xff09; public class bird {publ…

操作系统学习笔记-3.1内存管理

文章目录 内存的地址绝对装入静态重定位动态重定位 链接覆盖和交换1. 覆盖&#xff08;Overwrite&#xff09;在内存管理中的作用2. 交换&#xff08;Swap&#xff09;在内存管理中的作用 连续分配管理方式固定分区分配的关键概念优点缺点示例动态分区分配的关键概念优点缺点示…

练习LabVIEW第四十题

学习目标&#xff1a; 用labvIEW做一个循环闪烁指示灯&#xff0c;要能够在前面板调节周期和占空比。 开始编写&#xff1a; 前面板 一个布尔指示灯一维数组&#xff0c;两个数值输入控件&#xff1b; 程序框图 添加一个while循环&#xff0c;循环内添加初始化数组&…

Unity 打包AB Timeline 引用丢失,错误问题

1、裁剪 在 link.xml 添加 <assembly fullname"Unity.Timeline" preserve"all"/> 上面这一步我其实做了&#xff0c;但还是不行&#xff0c;各种搜索&#xff0c;不得解&#xff0c;还有创建一个空的Timeline 放到 Resources目录下的&#xff0c;也…

206面试题(28~46)

206道Java面试题&#xff08;28~46&#xff09; 28.Array和ArrayList有什么区别&#xff1f; 一、基本性质 Array(数组) Array是一种固定大小的数据结构。 用于存储多个相同类型的元素。 创建时需要指定数组的大小&#xff0c;且长度定义完后不能改变。 ArrayList(动态数组)…

Echarts使用柱状图实现横向数据展示,实现为每个柱子设置不同的颜色

这里使用echarts柱状图实现横向数据展示&#xff0c;同时给每个柱子设置不同的颜色&#xff0c;给柱子设置背景颜色等 话不多说直接上图吧 这里直接贴上代码&#xff1a; option {backgroundColor: "#1C162E", //背景颜色tooltip: {show: false},legend: {show: …

接口测试(十一)jmeter——断言

一、jmeter断言 添加【响应断言】 添加断言 运行后&#xff0c;在【察看结果树】中可得到&#xff0c;响应结果与断言不一致&#xff0c;就会红色标记

一文详解开源ETL工具Kettle!

一、Kettle 是什么 Kettle 是一款开源的 ETL&#xff08;Extract - Transform - Load&#xff09;工具&#xff0c;用于数据抽取、转换和加载。它提供了一个可视化的设计环境&#xff0c;允许用户通过简单的拖拽和配置操作来构建复杂的数据处理工作流&#xff0c;能够处理各种数…

Oracle 11g DataGuard GAP处理

1 说明 在Oracle Data Guard中&#xff0c;GAP是指在备库无法接收到一个或多个来自主库的归档日志文件时发生的情况&#xff0c;会导致数据保护和实时数据复制的能力受到影响。 Oracle Data Guard架构日志同步有三个阶段&#xff1a; 日志发送&#xff1b;日志接收&#xff…

jmeter结合ansible分布式压测--1数据准备

一、搭建ansible环境 ansible是基于python开发&#xff0c;通过ssh连接客户机执行任务。ansible可以批量系统配置、批量程序部署、批量运行命令等。 1、安装yum install ansible 2、检查ansible的版本:ansible --version 二、利用ansible在其他机器上准备压测数据 1、本地准…