Vue组件化、通过自定义指令子组件向父组件传递

news2025/1/6 19:26:15

1.如何安装Vue脚手架?

第一步(仅第一次执行):全局安装@vue/cli
  npm install -g @vue/cli
第二步:切换到你要创建项目的目录,然后使用命令创建项目
  vue create xxxx
第三步:启动项目
  npm run serve

2.脚手架结构

3.ref属性

4.props

配置项props
   功能:让组件接收外部传过来的数据
(1)传递数据
     <Demo name="xxx"/>
 (2)接收数据
     第一种方式(可接受):
       props:['name']

     第二种方式(限制类型):
       props:{
           name:Number
       }

     第三种方式(限制类型、限制必要性、指定默认值):
       props:{
           name:{
               type:String //类型
               required:true //必要性
               default:'老王' //默认值
           }
       }
备注:props是可读的,Vue底层会监测你对props的修改,如果进行了修改,就会发出警告,若业务需求确实需要修改,那么请复制props的内容到data中一份,然后去修改data中的数据

5.mixin(混入)

6.plugins插件

7.scoped样式

8.子组件如何向父组件传递数据?

1.通过父组件给子组件传递函数类型的props实现:子给父传递数据
    1.1父组件中绑定一个函数
    1.2子组件通过props来接收这个函数,再把子组件中的数据作为函数的参数,在合适的时候调用,就达到了将子组件的数据传到父组件的功能




2.通过父组件给子组件绑定一个自定义事件实现子给父传递数据(第一种写法,使用@或v-on)
     2.1给父组件中的子组件标签绑定一个自定义指令,如 @atguigu="getStudentName"
     2.2给父组件定义方法 getStudentName
     2.3给子组件中的(点击)事件定制atguigu,如 this.$emit('atguigu',this.name)



this.$refs.student(获取student组件的实例对象)
3.通过父组件给子组件绑定了一个自定义事件实现:子给父传递数据(第二种写法,使用ref)
     3.1给父组件中的子组件标签添加ref属性,如<Student ref="student"/>
     3.2给父组件定义方法getStudentName
     3.3给父组件添加mounted属性,如mounted(){
                                      this.$refs.student.$on('atguigu',this.getStudentName)
                                 }

这种方式灵活性较高,例如mounted(){    //使用$once,只触发一次,我们也可以在标签里书写@click.once
                             setInteval(()=>{
                                  this.$refs.student.$once('atguigu',this.getStudentName)
                             },3000)
                      }

                      
                      

9.解绑事件

当组件销毁后,它会拆卸身上所携带的监视属性,子组件,和监听事件,但是原生DOM不受影响

 

使用子组件向父组件传递数据的第三种方式时,如果直接把回调函数写在this.$refs.student.$on('atguigu',function(name,...params){

                              console.log(this)

})里,此时的this指向的是组件实例对象,即谁触发的事件,this指向的就是谁

如果像下面这种情况,在APP.vue中配置了getStudentName方法,this就指向的是APP.vue中的getStudentName

如果写成箭头函数,也可以解决这个问题,因为箭头函数没有自己的this

组件中如何想要用原生的事件,需要加上修饰符native

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

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

相关文章

C语言中二维数组和二维数组分析

问题 最近有个同事发现一个问题&#xff1a;一个二维数组&#xff0c;想把它传给一个函数&#xff0c;具体代码如下&#xff1a; char array[3][128]; void fun(char** array) {strcpy(array[0],"confirm"); }当我试图直接把二维数组名传给函数的时候&#xff0c;f…

接入淘宝API接口,获取店铺详情轻松迈入大数据时代

随着电商行业的飞速发展&#xff0c;API接口已经成为了一种不可或缺的技术。作为中国最大的电商平台&#xff0c;淘宝也拥有着自己的API接口。本文将重点讲解淘宝API接口技术&#xff0c;包括其基本原理、使用方法、优缺点等方面&#xff0c;帮助大家进一步了解淘宝API接口的奥…

年度发布 | MeterSphere一站式开源持续测试平台发布v2.10 LTS版本

2023年5月25日&#xff0c;MeterSphere一站式开源持续测试平台正式发布v2.10 LTS版本。这是继2022年5月发布v1.20 LTS版本后&#xff0c;MeterSphere开源项目发布的第三个LTS&#xff08;Long Term Support&#xff09;版本。MeterSphere开源项目组将对MeterSphere v2.10 LTS版…

一个完整的APP定制开发流程是怎样的?

随着移动互联网的发展&#xff0c;越来越多的 APP应用软件进入人们的生活&#xff0c;让我们的生活更便捷、更舒适。而随着互联网技术的进步&#xff0c;移动互联网应用软件开发行业也越来越成熟&#xff0c;为了适应市场需求&#xff0c;各种功能强大、性能良好的 APP应用软件…

电商API接口系列封装(提高工程师时效性,降低错误率)

API接口封装是指将原本分散在各个模块或系统中的API接口进行封装&#xff0c;形成一个可重用且独立的API库。通过API接口封装&#xff0c;可以提高系统的可维护性和可扩展性&#xff0c;降低开发成本和维护难度。 API接口封装通常分为两个步骤&#xff1a; 定义API接口&#x…

涨知识!一文带你读懂空气质量数据(附Java 和小程序接入示例代码)

空气污染对人类健康和环境造成了巨大的危害。据统计&#xff0c;每年因空气污染导致的早逝人数超过数百万人。长期暴露在污染物中&#xff0c;人们易患呼吸系统疾病、心血管疾病、癌症等。此外&#xff0c;空气污染还对生态系统、农作物和能源消耗产生负面影响。 在解决空气质…

首届百度商业AI技术创新大赛启动 点燃AIGC革新“星火”

随着生成式AI在全球范围的热议&#xff0c;AIGC前沿技术也在快速迭代&#xff0c;正如百度CEO李彦宏所说 “人工智能发生了方向性改变&#xff0c;从辨别式AI走向生成式AI&#xff0c;生成式AI会带来极大的效率提升” 。而这一领域的发展&#xff0c;将推动AI产品应用深化&…

Spark入门这篇就够了(万字长文)

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 文章目录 Spark是什么Spark组件Spark的优势Word Count Spark基本概念ApplicationDriverMaster和WorkerExecutorJobTaskStageStage的划分 窄依赖 & 宽依赖ShuffleRDDDAG Spark执行流程Spark运行模式RDDRDD…

项目开发-依赖倒置、里式替换、接口隔离的应用深入理解

文章目录 前言依赖倒置定义不符合依赖倒置原则是什么样子&#x1f604;完善 里式替换定义具体应用 接口隔离定义具体应用 前言 最近在做.net项目和学习这个设计模式中的依赖倒置和工厂方法&#xff0c;这个过程当中发现在开发这个.net项目中有很多不合理的地方&#xff0c;就是…

(转载)基于粒子群算法的多目标搜索算法(matlab实现)

1 理论基础 在实际工程优化问题中&#xff0c;多数问题是多目标优化问题。相对于单目标优化问题&#xff0c;多目标优化问题的显著特点是优化各个目标使其同时达到综合的最优值。然而&#xff0c;由于多目标优化问题的各个目标之间往往是相互冲突的&#xff0c;在满足其中一个…

KD7742交直流耐压绝缘分析仪

一、产品简介 KD7742交直流耐压绝缘分析仪具有交/直流耐压、绝缘电阻等项目的测试分析功能&#xff0c;能显示电压、电流和电阻的波形图以及趋势图&#xff0c;以便更直观的监测分析绝缘性能和绝缘崩溃时的各项指标&#xff0c;适用于高要求的测试分析场合。 产品具有测试参数范…

vue实现二维码识别功能 读取二维码内容

我们可以访问 https://www.wwei.cn/?frombdtp 在输入框中输入文本 然后 点击生成二维码 他就会给我生成一个对应信息的二维码图片 我们可以复制到本地 打开vue项目 先引入依赖 npm install canvas jsqr然后组件编写代码如下 <template><div><input type&qu…

首届中国元宇宙应用场景大赛成果发布暨河畔元宇宙论坛圆满落幕

5月26日下午&#xff0c;首届中国元宇宙应用场景大赛成果发布暨河畔元宇宙论坛在北京城市副中心圆满落幕。活动在通州区委、区政府指导下&#xff0c;由北京大数据协会元宇宙专业委员会主办&#xff0c;中国质量认证中心、绿色智能新经济产业联盟、中关村元宇宙产业发展联盟协办…

【大数据处理与可视化】八、文本数据分析

【大数据处理与可视化】八、文本数据分析 实验目的实验内容实验步骤一、案例——商品评价分析1、读取数据&#xff0c;并转换成DataFrame对象进行展示。2、从输出的结果看&#xff0c;多条评价信息是没用且重复的&#xff0c;所以&#xff0c;要用pandas中的drop_duplicates()方…

Java笔记039-多用户即时通信系统

目录 多用户即时通信系统 项目介绍 项目演示 项目结构 涉及到Java的技术 项目开发流程 需求分析 界面设计 功能实现-用户登录 1、功能说明 2、思路分析程序框架图 3、代码实现 功能实现-拉去在线用户列表 1、功能说明 2、思路分析程序框架图 3、代码实现 功能…

什么是LIS系统?LIS系统的优势有哪些?

一、LIS系统 LIS系统(Laboratory Information System) 即 实验室&#xff08;检验科&#xff09;信息系统&#xff0c;它是医院信息管理的重要组成部分之一。 LIS系统是实验室信息管理系统&#xff0c;是医院信息管理的重要组成部分。它采用智能辅助功能&#xff0c;自动接收检…

【分布式文件存储】MinIO部署及实现文件上传下载

目录 概述 MinIO集群部署 准备docker-compose.yml 测试启动 MinIO用户管理 Buckets管理 创建Buckets MinIO客户端 引入依赖 文件上传下载Demo 调用API碰到的问题 概述 MinIO | 高性能, Kubernetes 原生对象存储 MinIO是全球领先的对象存储先锋&#xff0c;目前在全世…

TCP协议的RST标志

下文中的内容多数来自【参考】中的文章&#xff0c;这边进行一个整理和总结&#xff0c;后续会慢慢增加出现各个 RST 包的测试代码&#xff0c;便于理解。 TCP的 “断开连接” 标志 RST 标志 Reset&#xff0c;复位标志&#xff0c;用于非正常地关闭连接。它是 TCP 协议首部里…

企业产品操作手册,真的很有必要吗?

产品操作手册是一种对于产品使用者而言非常重要的工具。它是一份向用户介绍产品使用方法和功能的文档&#xff0c;可以提供关于产品的详细信息&#xff0c;解答用户的疑问&#xff0c;并帮助用户快速上手使用产品。 产品操作手册的必要性&#xff1a; 一、提高用户使用体验 …

Matlab论文插图绘制模板第95期—双向柱状图

在之前的文章中&#xff0c;分享了很多Matlab柱状图的绘制模板&#xff1a; 进一步&#xff0c;再来看一种特殊的柱状图&#xff1a;双向柱状图。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;本期内容『数据代码』已上传资源群中&#xff0c;加群的朋友请自行下载。…