位置: 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也太猛了...(令人感到惊艳)

  • vivox80pro怎么关闭息屏显示(vivo777怎么关闭)

    vivox80pro怎么关闭息屏显示(vivo777怎么关闭)

  • ppt动画效果如何添加声音(ppt动画效果如何做出来)

    ppt动画效果如何添加声音(ppt动画效果如何做出来)

  • b站订阅在哪(b站订阅哪里找)

    b站订阅在哪(b站订阅哪里找)

  • 微信双手合掌是什么意思(微信上双手合在一起是什么意思)

    微信双手合掌是什么意思(微信上双手合在一起是什么意思)

  • 微信扫一扫能自动拍照吗(微信扫一扫能自动扣费吗)

    微信扫一扫能自动拍照吗(微信扫一扫能自动扣费吗)

  • 一个键盘控制两台电脑(一个键盘控制两台电脑怎么切换)

    一个键盘控制两台电脑(一个键盘控制两台电脑怎么切换)

  • 华为手机为什么短信发送失败(华为手机为什么都是4g了)

    华为手机为什么短信发送失败(华为手机为什么都是4g了)

  • 华为手机结束应用程序怎么弄(华为手机结束程序运行)

    华为手机结束应用程序怎么弄(华为手机结束程序运行)

  • 在outlook的服务器设置中POP3协议是指(在outlook的服务器设置中SMTP协议设置)

    在outlook的服务器设置中POP3协议是指(在outlook的服务器设置中SMTP协议设置)

  • 华为和苹果怎么互相定位(华为和苹果怎么互传视频)

    华为和苹果怎么互相定位(华为和苹果怎么互传视频)

  • 酷我榜样阅读在哪(酷我榜单)

    酷我榜样阅读在哪(酷我榜单)

  • 手机语音助手怎么打开(手机语音助手怎么老是弹出来了怎么关闭)

    手机语音助手怎么打开(手机语音助手怎么老是弹出来了怎么关闭)

  • 华为mate30pro声音键在哪(华为mate30pro声音突然变小了)

    华为mate30pro声音键在哪(华为mate30pro声音突然变小了)

  • 如何删除抖音作品(如何删除抖音作品视频和图片)

    如何删除抖音作品(如何删除抖音作品视频和图片)

  • 苹果手机内存不足怎么扩大(苹果手机内存不足怎么清理内存)

    苹果手机内存不足怎么扩大(苹果手机内存不足怎么清理内存)

  • 钉钉入职表转正怎么填(钉钉转正信息)

    钉钉入职表转正怎么填(钉钉转正信息)

  • 华为watch2pro支持苹果手机吗(华为watch2pro支持微信吗)

    华为watch2pro支持苹果手机吗(华为watch2pro支持微信吗)

  • 通讯录怎样查找黑名单(通讯录怎么查找联系人)

    通讯录怎样查找黑名单(通讯录怎么查找联系人)

  • 猪八戒网如何取消任务(猪八戒网怎么注销)

    猪八戒网如何取消任务(猪八戒网怎么注销)

  • 一刀9999亿怎么彻底卸载(一刀999是什么游戏)

    一刀9999亿怎么彻底卸载(一刀999是什么游戏)

  • 力拓河中含矿物质的水,西班牙里奥廷托矿区 (© David Santiago Garcia/Getty Images)(全球矿业巨头力拓集团)

    力拓河中含矿物质的水,西班牙里奥廷托矿区 (© David Santiago Garcia/Getty Images)(全球矿业巨头力拓集团)

  • 十七届智能车智能视觉组(十四届智能车规则)

    十七届智能车智能视觉组(十四届智能车规则)

  • 所得税税前扣除项目及扣除标准
  • 办税员可以购票吗?
  • 个人独资企业可以核定征收吗
  • 工程款和借款能一起诉讼吗
  • 公司现金支票取钱需要带什么资料
  • 其他应收款资产负债表是负数怎么办
  • 法人资格证书是营业执照吗
  • 个人房屋租金收入怎么交税
  • 公司注销留抵税金能退税吗
  • 网上支付的三种类型
  • 个税税务稽查
  • 小规模纳税人超过500万可以不转一般纳税人吗
  • 创可贴属于什么费用科目
  • 运费抵扣增值税是什么意思
  • 国家税务总局关于取消增值税扣税凭证
  • 进货会计凭证
  • 货代免税是否需要每年备案
  • 一次还本付息摊余成本计算公式
  • 对境外支付佣金的规定
  • 不动产取得以什么为要件
  • 定额手撕发票怎么买
  • 补付工程款会计分录
  • 发票过期未认证怎么办
  • 框架采购合同如何计贴印花税?
  • 企业为职工缴纳的五险一金占工资总额的多少
  • 哪些科目适用于借方多栏式
  • 持有至到期投资科目被取消了吗
  • 退休人员返聘工资怎么发放
  • 车辆购置税如何计算器
  • adv举例
  • Win11 Dev 预览版 Build 25300
  • pavprot.exe - pavprot是什么进程 作用是什么
  • 三维目标通用模板
  • php分片上传文件
  • 向银行借入长期借款200000元,存入银行
  • 万字短文
  • 2023年顶会、顶刊SNN相关论文----------持续更新中
  • 接受捐赠固定资产的改建支出
  • vue中的路由守卫有哪些
  • 计提租金怎么做会计分录
  • 如何区分误餐费和补助费
  • 个人所得税生产经营所得税怎么申报
  • 员工借现金分录
  • 印花税核定征收比例取消了吗
  • 保理属于什么行业分类
  • 纳税人识别号和公司税号一样吗
  • 普票不能抵扣要他干嘛
  • 印花税计税金额是主营业务收入吗
  • 准予从销项税额中扣除的有哪些
  • 季度所得税申报错误,一定要更改吗
  • 事业单位收到发票怎么处理
  • 刚购入的固定资产已使用年限怎么填
  • 投资性房地产改造期间计提折旧吗
  • 购入农产品的增值税税率是多少
  • 研发费用允许加计扣除的标准
  • 出口退回的增值税计入哪个会计科目
  • 公司货物发票进项高开还是低开
  • 非居民企业境内所得
  • 委托加工的应税消费品是指
  • 小规模纳税人如何申请专票
  • 实缴制下未到位资金
  • 其他应付款转实收资本走什么程序
  • 哪些发票必须注销
  • 公司如何做账本
  • 计入当期损益是不是计入三大期间费用
  • ubuntu中安装vim
  • linux使用su命令出错
  • adguard安全性
  • bearshare.exe进程安全吗 bearshare是什么进程
  • xp系统光盘读不出来
  • windows8.1关闭开机密码
  • win8创建系统映像
  • win10系统应用更新
  • js让按钮不能点击
  • div left
  • 批处理替换文件
  • Python+Wordpress制作小说站
  • 计算车辆购置税公式
  • 水厂管理经验
  • 购买税控设备
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设