vuel路由间通讯_vue 6种通信总结

本文详细介绍了Vue中6种常见的组件通信方式:1) 父子组件间通信,包括父传子、子传父;2) 使用EventBus实现非组件间的通信;3) 利用sessionStorage传递值;4) 路由带参数跳转传递数据;5) 使用Vuex管理全局状态。每个方法都配合代码示例进行了说明,帮助读者理解和掌握Vue组件通信的多种途径。
摘要由CSDN通过智能技术生成

序言:

6个分支,不懂的切换分支,可以直接在src文件替换vue-props文件夹里面文件

下载文件记得先安装依赖,npm install

然后在启动 npm run dev

常用vue通信大概有这几种方式进行:组件间的父子之间的传值

组件间的子父之间的传值

非组件间的组件间的传值(简称:EventBus)

sessionStorage缓存传值

路由带参数跳转进行传值

vuex进行传值

1. 组件间的父子之间的传值

整理一下思路:父组件调用子组件dom位置声明一个名称,然后在子组件接收这名称,就可以直接调用

父组件(谁是父组件个人理解:谁引用谁的组件,谁就是父组件)

image.png

子组件

image.png

2.组件间的子父之间的传值

理一下思路:在子组件通过触发一个事件带值,让父组件接受这个事件,解析这个值

子组件

image.png

父组件

image.png

3.非组件间的组件间的传值(简称:EventBus)

我先举个例子来解释下组件间的关联

组件A比作一个路由,通过中继器(eventBus.js)让其他房子接收到信号(组件B)

首先在src目录下创建一个eventBus.js文件,复制这行代码进去import Vue from 'vue'let connect = new Vue()    // 实例export default connect

组件A

image.png

组件B

image.png

效果

sessionStorage

组件A,感觉用法和上一篇差不多,就不在一一叙述

image.png

组件B

image.png

路由带参数跳转

路由默认的页面

image.png

路由其他页面 children

image.png

效果

vuex主要做数据交互,维护公共状态或数据

多看几遍这图,vuex 基本就会使用,多加运用就会更加熟练

src下创建一个store的文件夹,里面创建index.js文件import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)export default new Vuex.Store({   state: {   city: "上海"

},   actions: {

handleCity(ctx, city) {   // console.log(ctx, city)

ctx.commit("handleCity", city)

}

},mutations: {

handleCity(state, city) {

state.city = city

}

}

})

某文件触发事件methods: {

handleCityClick(city) {

this.$store.dispatch("handleCity", "北京");

},

展示页面

{{this.$store.state.city}}

作者:艾尔丶Lawliet

链接:https://www.jianshu.com/p/eaa3a3b577a3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值