首页 > 其他分享 >Vue中bus传值的理解

Vue中bus传值的理解

时间:2022-08-22 14:01:42浏览次数:68  
标签:文件 vue .. bus Vue 传值

  说起bus你会想到什么?公交车?总线?在Vue中,对于任意两个组件之间的传值,就可以使用事件总线—bus。

简单描述
  在任意两个组件传值中,可以创建一个bus类负责事件派发、监听和回调管理。

使用方式
  在Vue项目中,我a.vue需要给b.vue传值,使用bus传值的方式如下:

1)建立bus.js文件

  在文件夹下建立bus.js文件,写入以下代码:

// bus.js
import Vue from 'vue'
export default new Vue()

2)a.vue中添加代码

// 引入公共的bus,来做为中间传达的工具
import Bus from '../../api/bus'

beforeDestroy(){
   Bus.$emit('val', 要传递的值)
   console.log('我发送成功了');      
},

3)b.vue中添加代码

import Bus from '../../api/bus'
		
created(){
   // 用$on事件来接收参数
   Bus.$on('val', (data) => {
     console.log(data)  
   })
}

注意点

  为什么a文件是在beforeDestroy中传值,b文件是在created中接受值呢?这块就涉及到了页面创建与销毁时调用的钩子函数了。a文件跳转b文件所触发的钩子函数如下:

 

 

 因为在a文件执行beforeDestroy的时候,b文件已经执行了created方法了,这个时候传值是可以传过去的,如果b文件使用mounted方法接受,这个时候a文件第一次给b文件传值,b文件是接受不到的,第二次传的时候才能接收到。

原文链接:https://blog.csdn.net/m0_37508531/article/details/103847541

标签:文件,vue,..,bus,Vue,传值
From: https://www.cnblogs.com/lylweb/p/16612575.html

相关文章

  • Vue 组件通信之 Bus
    bus详细描述:vue中非父子组件之间通信除了使用vuex,也可以通过bus总线,两者适用场景不同。bus适合小项目、数据被更少组件使用的项目,对于中大型项目数据在很多组件之间使用......
  • vue.ps1 报错
    XXX_fei这个根据自己电脑情况而定vue:无法加载文件C:\Users\XXX_fei\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本,这样的问题,需要使用管理员权限打开,然后......
  • vue ui 报错
    vueui报错vue图形界面创建项目报:GraphQLerror:Cannotreturnnullfornon-nullablefieldMutation.projectCreate,解决方法1、删除C:\Users\fei\AppData\Roaming\np......
  • vue报错elementUI使用datepicker报错Avoid mutating a prop directly since the value
    报错问题:[Vuewarn]:Avoidmutatingapropdirectlysincethevaluewillbeoverwrittenwhenevertheparentcomponentre-renders.Instead,useadataorcompute......
  • 在vue中循环调用接口-promise.all()
    methods:{handleAdd(arr){this.loading=trueconstallApi=[]arr.forEach((item,index)=>{constdata={id:item.id,......
  • 日常开发记录-elementUI表格特殊值标红,利用插槽,vue动态绑定类名
    代码:<template><el-table:data="tableData"style="width:100%"><el-table-columnprop="date"label="日期"width="150"></......
  • Vue面试题06:Vue子组件是否可以修改父组件的数据?
    Vue子组件是否可以修改父组件的数据?可以修改但不推荐:首先,文档中指出组件开发需要遵循单向数据流原则:即所有的props都遵循着单向绑定的原则,props因父组件的更新而变化......
  • vue 打包配置相对路径
    前言:临下班了产品找到我,要满足甲方爸爸需求「vue打包的静态资源需要相对路,绝对路径会报错」。时间紧,催的急(半小时问一次),导致我顾此失彼,配置好了这个没配好那个,所以借此反省......
  • vue3动态组件切换
    <template><divclass="goods-tabs"><nav><a@click='toggle("GoodsDetail")':class="{active:componentName==='GoodsDetail'}"href="javascript:;">商品详情</a>......
  • vuex的引入
    官方文档可以解决一切问题。1、安装vuexnpminstallvuex@next--save如果版本和你的vue版本不符合,可以根据提示,在@后加上适合的版本号再安装。安装成功之后会在packjs......