Vue中bus传值的理解

news/2024/7/9 23:48:00 标签: vue, bus传值

  说起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()

vue_18">  2)a.vue中添加代码

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

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

vue_29">  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文件是接受不到的,第二次传的时候才能接收到。


http://www.niftyadmin.cn/n/1659519.html

相关文章

3.PHP基本语法(1)——标识符、变量、isset、settype、数值转换

1、第一个php程序 两种方式写入php程序&#xff0c;正常情况下<?php//echo表示向浏览器输出&#xff0c;echo其实是一个函数&#xff1b;echo "第一个php程序"; ?>扩展&#xff1a; 将上述php文件转换为简短的风格 <?echo "第一个php程序"; ?…

DOM核心操作

前言 JavaScript主要是由三部分组成&#xff1a;ECMAScript、DOM、BOM&#xff0c;今天我们一起来学习一下JS中DOM的核心操作吧。 是什么 DOM即Document Object Model&#xff08;文档对象模型&#xff09;&#xff0c;可以使用JS来操作HTML。 创建元素 方式一&#xff1a;do…

Vue使用iframe嵌入外部HTML文件

背景 项目开发的过程中&#xff0c;我们不可避免的会引入外部已经写好的HTML文件&#xff0c;那在不同的Vue脚手架中如何成功引入HTML文件呢&#xff1f;如何获取到HTML文件中的值呢&#xff1f; 不同脚手架的不同引入方式 脚手架2 把要引入的文件&#xff08;假设是aaa.html文…

Vue给项目添加进度条

前言 在PC端项目的开发过程中&#xff0c;有时我们需要给项目添加一个进度条来展示界面是否已经完成加载的情况。那么如何才能成功添加进度条呢&#xff1f; 添加方式 1.引入插件Nprogress npm install --save nprogress2.在main.js中引入对应的包文件 import NProgress fro…

安卓上运行第一个RN项目

前言 RN即React Native的简称&#xff0c;是基于React框架的语法进行开发的&#xff0c;用来开发移动端的项目。 步骤 1.在配置好环境的基础上&#xff0c;创建第一个RN项目&#xff0c;执行cmd命令npx react-native init AwesomeProject&#xff0c;如果可以连接外网的话建议…

React样式的模块化

前言 在React中&#xff0c;为了解决不同界面中具有相同类名导致样式冲突的问题&#xff0c;从而产生了样式的模块化&#xff0c;类似于Vue中的scoped指令。 设置方式 在webpack.config.js文件中&#xff0c;添加modules参数&#xff0c;启用CSS的模块化。 { test: /\.scss$/…

React中绑定this并传参的三种方式

前言 React中&#xff0c;在使用函数的过程中可能会改变this的指向&#xff0c;导致不能正常获取到值的问题&#xff0c;所以React中有三种方式可以供我们使用&#xff0c;从而解决this的指向问题。 绑定this并传参的方式 方式一&#xff1a;在事件处理函数中&#xff0c;直接…

3.PHP基本语法(2)——常量、define()、访问表单变量

1、常量 &#xff08;1&#xff09;一般采用define()来定义 常量约定&#xff0c;一般采用“大写”来进行定义&#xff1b;同时&#xff0c;常量一旦被定义之后&#xff0c;就不能在此更改。 define("TOTAL",199);&#xff08;2&#xff09;与变量的不同是&#xf…