Vue_组件详解

news2024/11/18 17:26:47

Vue_组件详解

  • 初识组件
    • 组件组成
    • 组件的根节点
    • 父子组件
  • 组件注册
    • 全局注册
    • 局部注册
  • 组件间数据传递Props(父 ----> 子)
    • props声明
    • 注意问题
  • 组件间数据传递emit(子 ----> 父)

初识组件

组件(Component),是对数据和方法的简单封装。
组件化开发提高了代码的复用性和灵活性,同时提升了后期的可维护性。
vue 是一个完全支持组件化开发的框架,vue 中 .vue的后缀文件即为组件。几乎任何应用的界面都可以抽象为一个组件树。
在这里插入图片描述

组件组成

  • < template >< /template > : 组件的模板结构
  • < script >< /script > : 组件的 JavaScript 行为
  • < style>< /style>:组件的样式

每个组件必须包含 template 模板结构,script 和 style 是可选组成部分。

组件的根节点

emplate模板的直接子元素就组件的根节点。

<template>
	<div>我是根节点</div>
</template>

父子组件

包含一个或多个子组件的组件是父组件。

组件注册

vue 中注册组件的方式分为“全局注册”和“局部注册”两种。

全局注册

main.js文件中导入组件,用Vue.component方法进行注册。

 // 1. 导入需要被全局注册的组件
import Test from './components/Test.vue'

// 2. 注册组件
Vue.component('Test', Test)

局部注册

在使用的组件中注册。

 // 1. 引入需要注册的主键
import juBuTest from './components/juBuTest.vue'

// 2. 进行注册。组件注册的名字和引入的名字需要保持一致。
components{ juBuTest }

组件间数据传递Props(父 ----> 子)

  1. 父组件使用 v-bind: 或 : 来绑定属性,为组件绑定props值。
  2. 在子组件中声明 props 来接收传递的数据

props声明

  • type:数据类型,如: String、Number、Boolean、Array、Object、Date、Function、Symbol
  • required:是否必传,布尔类型ture/false
  • default:默认值
props:{
        "name":{
            type:String,
            required:true
        },
        "age":{
            type:Number,
            default:18
        },
        "sex":{
            type:String,
            default:'男'
        },
    },

注意问题

1、props是只读的,vue底层会检测你对props的修改,如果进行了修改,控制台会报错。
2、如果父组件给子组件传递了未声明的 props 属性,则这些属性会被忽略,无法被子组件使用。
3、组件中如果使用“camelCase (驼峰命名法)”声明了 props 属性的名称,则有两种方式为其绑定属性的值。如: Myname和 my-name都可。

组件间数据传递emit(子 ----> 父)

$ emit用于触发自定义事件。通过$emit方法可以在组件内部触发一个自定义事件,并传递数据给父组件或其他监听该事件的组件。

  • 在子组件中设置一个按钮绑定点击事件,使用$emit将数据传给父组件。
<template>
    <h4>ChildComponent</h4>
    <button @click="childSubmit()">我是子组件</button>
</template>
<script>
export default{
    data(){
        return{
            msg:"Child数据"
        }
    },
    methods:{
        childSubmit(){
         //第一个参数:父组件的事件,第二个参数:要传的值
         this.$emit('childFn',this.message) 
        }
    }
}
</script>

  • 在父组件中获取子组件传递的值
<template>
<h3>ParentComponent</h3>
<ChildComponent @childSubmit="parentSubmit"/>
<p>父元素:{{ message }}</p> 
</template>
<script>
import ChildComponent from './components/ChildComponent.vue';
export default{
  data(){
   return{
    message:""
   }
  },
  components:{
    ChildComponent
  },
  methods:{
    parentSubmit(data){
    //通过&emit传过来的data
     this.message = data;  
    }
  }
}
</script>


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

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

相关文章

WordPress导航主题蘑菇导航源码

蘑菇导航的列表页有两种风格&#xff0c;分别对应宽屏、窄屏。可以点击 文章。博客查看演示。文章页也是如此&#xff0c;这两种风格可以在后台设置。 本站菜单中的 VIP解析、音乐、图床&#xff0c;是单独的源码&#xff0c;不包含在本次主题中。后期看大家的要求&#xff0c…

Python中的循环语句Cycle学习

二、循环语句 1、什么是循环语句 一般编程语言都有循环语句,为什么呢? 那就问一下自己,我们弄程序是为了干什么? 那肯定是为了方便我们工作,优化我们的工作效率啊。 而计算机和人类不同,计算机不怕苦也不怕累,也不需要休息,可以一直做。 你要知道,计算机最擅长就…

【Java】栈和队列的模拟实现(包括循环队列)

异常为空栈异常&#xff1a; public class EmptyStackException extends RuntimeException {public EmptyStackException(){}public EmptyStackException(String msg){super(msg);}}循环队列&#xff1a; class MyCircularQueue {public int[] elem;public int front;//队…

绿色低碳,数字为先:万应低代码推动能源资产管理优化

10月7日&#xff0c;湘江新区经济发展局发布关于印发《湖南湘江新区推进碳达峰碳中和三年行动工作方案及责任分工&#xff08;2023-2025&#xff09;》的通知&#xff0c;把碳达峰碳中和工作纳入湖南湘江新区经济社会发展和生态文明建设整体布局。 随着科学技术的不断发展&…

10月第2周榜单丨飞瓜数据B站UP主排行榜榜单(B站平台)发布!

飞瓜轻数发布2023年10月9日-10月15日飞瓜数据UP主排行榜&#xff08;B站平台&#xff09;&#xff0c;通过充电数、涨粉数、成长指数、带货数据等维度来体现UP主账号成长的情况&#xff0c;为用户提供B站号综合价值的数据参考&#xff0c;根据UP主成长情况用户能够快速找到运营…

线程池线程保活以及动态更新线程数

基本知识 各位大佬在面试过程肯定会被问到线程池或者多线程的问题&#xff0c;例如&#xff1a; 线程池核心参数及其作用线程池添加任务的执行顺序任务队列以及任务的拒绝策略等等 这些问题是相信稍微研究过线程池JDK源码的都能掌握。有兴趣的可以参数这篇博文。 在进入今天…

去除照片中多余人物方法分享-这些方法快收藏起来

拍照时经常会碰到一些意外的情况&#xff0c;比如不小心捕捉到了一些不需要的人或物&#xff0c;这会影响照片的美观效果&#xff0c;因此学习如何去除照片中多余人物就显得特别重&#xff0c;下面分享一些常用的去除照片中多余人物的方法&#xff0c;如果你也感兴趣的话&#…

使用按钮从 SAP 系统内打开 Excel 文件

了解如何通过 SAP 屏幕上创建的按钮打开所需的 Excel 文件。为了演示这一点&#xff0c;将指导您完成以下步骤。 使用 del 命令删除 SAP 上不必要的元素添加一个按钮&#xff0c;单击后打开弹出窗口创建一个函数来选择 excel 文件创建打开所需 excel 文件的函数 定制 登录 S…

Linux下程序(C语言)实现对文件的复制

目标&#xff1a; 使用系统调用实现cp命令。 原理&#xff1a; 使用系统调用fopen打开文件&#xff0c;使用fgets()从文件读数据&#xff0c;使用fputs() 向文件写数据。 linux 文件 创建命令为 vi (文件名&#xff09;.c 文件源码&#xff1a; #include<stdio.h>…

linux安装达梦数据库(命令行安装)

安装达梦数据库 创建安装用户 1,创建安装用户组dinstall [rootdmDMServer1 ~]# groupadd -g 12345 dinstallgroupadd : 创建组 -g : 指定组id&#xff08;GID&#xff09; 12345&#xff1a; 指定的组名称 dinstall &#xff1a; 组名 2,创建安装用户dmdba [rootdmDMSe…

如何使用 Python 在终端中创建令人惊叹的图形

说明 在当今数据驱动的世界中&#xff0c;可视化或图形确实表达了一个胜过千言万语的故事。可视化提供了快速有效的通信媒体来传达数据&#xff0c;如果与文本或表格共享&#xff0c;则可能难以理解。 虽然有许多强大的可视化工具可用&#xff0c;但有时我们需要一种快速简便的…

SpringBoot的多环境切换(已废除)

profile是Spring对不同环境提供不同配置功能的支持&#xff0c;可以通过激活不同的环境版本&#xff0c;实现快速切换环境 application-dev.yaml server:port: 8082 application-test.yaml server:port: 8081 我们在主配置文件编写的时候&#xff0c;文件名可以是 applicat…

58 乘积最大子数组

乘积最大子数组 题解1 DP换成三个变量&#xff08;因为是连续的&#xff0c;只和上一个状态有关的&#xff0c;所以三个暂存变量迭代就行&#xff09; 给你一个整数数组 nums &#xff0c;请你找出数组中乘积最大的 非空连续子数组&#xff08;该子数组中至少包含一个数字&am…

出席第三届“一带一路”峰会的斯里兰卡总统会见深兰科技高层

10月16日&#xff0c;应斯里兰卡投资促进部的邀请&#xff0c;深兰科技集团董事副总裁刘园桂、集团营销中心总经理徐诗彪一行出席了在北京举行的“中斯投资论坛”。 图&#xff1a;刘园桂女士向斯里兰卡总统赠送熊猫智能公交模型 论坛期间&#xff0c;来北京参加第三届“一带一…

菜鸟智谷产业园正式开园!入驻企业可享受“城区+园区”双重政策扶持

位于杭州未来科技城的菜鸟智谷产业园正式开园了! 杭州未来科技城发布新电商产业加速“百千万亿”计划,菜鸟智谷产业园发布“产业赋能计划”,并设立天猫品牌孵化基地,落户中国(杭州)跨境电商综试区一带一路电商运营中心,引入悦汇跨境产业创新基金……10月17日,杭州未来科技城(海…

【ELK 使用指南 1】ELK + Filebeat 分布式日志管理平台部署

ELK和EFLK 一、前言1.1 日志分析的作用1.2 需要收集的日志1.3 完整日志系统的基本特征 二、ELK概述2.1 ELK简介2.2 为什么要用ELK?2.3 ELK的组件 三、ELK组件详解3.1 Logstash3.1.1 简介3.1.2 Logstash命令常用选项3.1.3 Logstash 的输入和输出流3.1.4 Logstash配置文件 3.2 E…

客户开发信怎么写?新手如何发客户开发信?

客户开发信模板有哪些&#xff1f;编写外贸客户邮件的技巧&#xff1f; 客户开发信是一种重要的商业沟通工具&#xff0c;用于建立和维护与现有客户之间的联系&#xff0c;以及吸引新客户。写一封成功的客户开发信需要一定的技巧和策略。在这篇文章中&#xff0c;我们将介绍如…

数据结构:二叉树(2)

二叉树的基本操作 获取树的结点总数 遍历思路&#xff1a; 每次遍历一个节点&#xff0c;遍历完nodeSize&#xff0c;然后遍历它的左右子树 如果遍历到空的节点&#xff0c;就返回0 public int nodeSize 0;int size(TreeNode root){if(root null){return 0;}nodeSize;siz…

智慧公厕:探索未来城市环境卫生设施建设新标杆

智慧公厕是当代城市建设的一项重要举措&#xff0c;它集先进技术、人性化设计和智能管理于一体&#xff0c;为人们提供更为舒适、便捷和卫生的厕所环境。现代智慧公厕的功能异常丰富&#xff0c;从厕位监测到多媒体信息交互&#xff0c;从自动化清洁到环境调控&#xff0c;每一…

电商数据平台西域根据ID取商品详情API接口采集产品详情数据、价格 、销量数据操作指南

商品详情API接口是一种用于访问和获取商品信息的接口&#xff0c;通常用于连接电商平台和商家应用程序。这个接口可以提供有关商品的各种详细信息&#xff0c;如名称、价格、描述、图片、类别、库存和评价等。它使得开发者能够为平台上的消费者提供更个性化和定制化的购物体验&…