位置: IT常识 - 正文

Vue中几种常见的传参方式(vue有哪些内容)

编辑:rootadmin
Vue中几种常见的传参方式 前言

推荐整理分享Vue中几种常见的传参方式(vue有哪些内容),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue常用功能,vue常识,vue常用,vue常用语法,vue中的...,vue基本用法,vue常用,vue常用,内容如对您有帮助,希望把文章链接给更多的朋友!

Vue组件传参方也是面试最常考的内容,犹记得当初刚出来实习的时候,遇到一个需求,大概就是一个tabs下面有五个子页面,每个子页面表示订单的一种状态。当时是把五个子页面抽成了五个组件,做完后又有一个问题,就是在一个页面更改了数据状态之后,切换到另一个页面的时候要通知这个页面更新数据,当时是完全没有思路,找带我的大哥教我,讲了半天还是没有懂,最后还是大哥手把手的教我写完的,那时候觉得大哥好厉害,666,现在一想起来,不就是最简单的兄弟组件之前参数传递吗?😓今天就来回忆一下工作中常用的几种组件传参的方式。

父子组件之间传参

父子组件之间最常用的组件传参方式就是:父传子使用v-bind:attr传递,子组件使用props接收,子传父使用方法传递,父组件在方法参数中获取,即$emit['method':val],父组件使用@method接收。

// 父传子// 父组件<template> <div> 父组件 <br/> <child :name="name" @getChild="getChild"/> </div></template><script> export default { data(){ return { name:'father' } }, methods:{ getChild(val){ console.log(val) // 123 } } }</script>// 子组件<template> <div> 子组件 <br/> {{name}} <button @click="toParent">传到父组件</button> </div></template><script> export default { props:{ name:{ type: String, default:''} }, data(){ return { } }, methods:{ toParent(){ this.$emit('getChild',123) } } }</script>Vue中几种常见的传参方式(vue有哪些内容)

除此之外,vue还提供了一种语法糖,可以简单的实现父子组件间数据的双向绑定。

// 父组件<template> <div> 父组件 <br/> <child :name.sync="name" /> </div></template><script> export default { data(){ return { name:'father' } } }</script>// 子组件<template> <div> 子组件 <br/> {{name}} <button @click="toParent">传到父组件</button> </div></template><script> export default { props:{ name:{ type: String, default:''} }, data(){ return { } }, methods:{ toParent(){ this.$emit('update:name',123) } } }</script>

父组件还可以使用$refs直接调用子组件的所有属性和方法,但是并不推荐使用这种方法。

<child ref="child"></child>// 父组件可以使用$refs.child.xxx直接调用子组件的属性和方法兄弟组件之间传参

兄弟组件之间传参可以使用vuex、localStorage、sessionStorage、EventBus事件中转,前面三种方法无非就是找第三方把数据存起来,需要的时候再获取就行,这里主要讲一下事件中转的用法。

// 1.首先在app.vue种定义一个中转站,再挂载到全局对象上面。// App.vueVue.prototype.$eventBus = new Vue()// 2.在需要传递的页面使用$emit(eventName,params)发射参数this.$eventBus.$emit(eventName,params)// 3.在需要接收参数的页面使用$on(eventName,(params) => {}) 接收参数this.$eventBus.$on(eventName,(params) => {})

这种方法其实还可以用于跨层级传参,以前我很抵触这种用法,后来用过一次之后觉得真香啊。还有需要注意的一点就是在组件销毁的时候记得移除监听的事件绑定,使用$eventBus.$off(eventName)实现事件监听移除。

provide/inject传参

provide/inject可以用于跨层级传参,不过只能从上到下:

// 在上级组件中使用provide修饰的数据,在下级组件中可以使用inject接收,类似于props // 上级组件 <script> export default { data(){ return { age: 12 } }, provide(){ return { name: 111, age: this.age } } } // 下级组件 <script> export default { data(){ return { } }, inject:['name','age'] // 使用时当data数据使用就行 } </script>

值得注意的是,如果上级组件传的数据是响应式的,那么接收到的数据就是响应式的,反之亦然。 以上就是我在工作中常用的组件传参方式,喜欢的话就点个赞再走吧。

本文链接地址:https://www.jiuchutong.com/zhishi/299147.html 转载请保留说明!

上一篇:【python量化】大幅提升预测性能,将NSTransformer用于股价预测(python 量化)

下一篇:4个令人惊艳的ChatGPT项目,开源了!AIGC也太猛了...(令人感到惊艳)

  • 接受捐赠的增值税处理
  • 去参加博览会的英文
  • 未达起征点销售额和小微企业免税销售额
  • 民办非企业单位属于什么类型
  • 企业资产损失所得税税前扣除办法
  • 金融业的企业
  • 员工宿舍免征房产税
  • 企业库存现金的限额是由( )核定的
  • 简易计税的销项税怎么处理
  • 已付款货物还未付款
  • 购买的厂房怎样交税
  • 小规模纳税人是小微企业吗
  • 投资理财产品的风险性从低到高
  • 所得税季报固定资产加速折旧表资产原值
  • 公司注销地税时其他应收款要缴纳个人所得税吗?
  • 一般纳税人有哪些费用
  • 消费金融服务要交税吗
  • 补偿金需要缴纳个税分开
  • 税务利润总额计算公式
  • 期初未缴税额和期末未缴税额
  • 生育津贴支付方式
  • 转让金融商品应交增值税计算公式
  • 企业支付工商年费怎么查
  • 经营租入固定资产改建支出摊销计算时间
  • 在建工程进项税额抵扣规定
  • php获取参数值的三种方式
  • 原 !神静态网页布局详解,html+css布局实战,附详细代码
  • PHP:imagecolorclosesthwb()的用法_GD库图像处理函数
  • csdn创作
  • 葡萄酒企业已纳税多少
  • 注意力机制详解
  • 建筑企业跨省经营
  • python进行傅立叶变换
  • 前端解决跨域问题的代理
  • cp命令复制文件到另一个目录并改名
  • 物业管理服务小组职责
  • 有合同没有发票怎么入账
  • 三代手续费企业所得税
  • phpcms教程
  • 公益性捐赠支出纳税调整
  • 织梦开发教程
  • 企业所得税固定资产的计税基础
  • 利润表和资产负债表不平的原因
  • 未分配利润是怎么来的
  • 一般纳税人已交税金账务处理
  • 同城票据交换原理
  • 总公司委托分公司开票及收款
  • 理财利息计入什么科目
  • 养老院的账务处理会计实务问答
  • 房地产企业收到政府补助
  • 公司增资需要哪些材料
  • mysql常见优化手段
  • mysql8 jdbc连接
  • mysql服务无效
  • mysql b+树节点大小
  • freebsd常用命令
  • windows使用痕迹在哪里
  • ubuntu16.04输入法
  • centos7.5切换图形界面
  • 磁贴for kwgt
  • 如何提升windows版本
  • 安卓手机插电脑上用id密码能查什么
  • opengl光照效果
  • threejs加载obj模型颜色不对
  • jquery-file-upload 文件上传带进度条效果
  • jQuery.trim() 函数及trim()用法详解
  • Android游戏开发实训总结
  • python 编码声明
  • android应用程序
  • 安卓如何取消长按电源键关机
  • 理解Python中的变量
  • javascript面向对象编程
  • 河南省出租车网
  • 发票换领
  • 河北地税代收工作怎么样
  • 广西税务怎么交城乡养老保险
  • 贵州税务大厅咨询电话
  • 怎么知道自己的城乡属性
  • 苏州封闭式高中
  • 北京共有产权房房源信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设