我的第一个项目(十三) :组件间传值的一些方案(vuex,eventbus,localStorage)
好家伙,
先说一下我的需求,我要组件间传值
1.eventBus
前端兄弟组件传值eventbus无法使用
不报错也不触发,就很奇怪
//eventBus.js
import Vue from "vue";
export default new Vue();
//Mylogin.vue
<button type="button" class="btn btn-primary" @click="login">登录</button>
import bus from '../js/eventBus'
methods: {
login() {
bus.$emit('getLoginName', this.loginForm)
}
//Game.vue
import bus from '../js/eventBus'
mounted() {
bus.$on('getLoginName', (data) => {
console.log("这是接收到的数据:", data)
})
}
试试vuex了
2.vuex
2.1.什么是Vuex?
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。
它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
(我把它理解为一个状态管理器)
2.2.Vuex的安装
npm install vuex --save
main.js
import Vue from 'vue'
import Vuex from 'vuex' Vue.use(Vuex)
const store = new Vuex.Store({
state: {
count: 0,
user: {
id: '',
password: '',
life: null,
score: null,
loginName: null
},
},
mutations: {
increment(state) {
state.count++
}
}
}) export default store; new Vue({
store: store,
}).$mount('#app')
Vuex 使用单一状态树——是的,用一个对象就包含了全部的应用层级状态。至此它便作为一个“唯一数据源 ”而存在。这也意味着,每个应用将仅仅包含一个 store 实例。
以上代码,我们可以使用
console.log(this.$store.state.user)
访问到数据

3.localStorage
我们换个思路,A组件把数据存到本地,
然后B组件读取,这在某种意义上也是一种"组件传值"
//存数据
localStorage.setItem("getuserdata", JSON.stringify(this.player)); //取数据
JSON.parse(localStorage.getItem("getuserdata")); //删数据
localStorage.removeItem("getuserdata"); //清除所有
localStorage.clear();
我的第一个项目(十三) :组件间传值的一些方案(vuex,eventbus,localStorage)的更多相关文章
- Vue中组件间传值常用的几种方式
版本说明: vue-cli:3.0 一.父子组件间传值 1.props/$emit -父组件==>>子组件: 子组件中通过定义props接收父组件中通过v-bind绑定的数据 父组件代码 ...
- Vue学习(二)-Vue中组件间传值常用的几种方式
版本说明:vue-cli:3.0 主要分为两类: 1.父子组件间的传值 2.非父子组件间的传值 1.父子组件间传值 父组件向子组件传值 第一种方式: props 父组件嵌套的子组件中,使用v-bind ...
- Vue 组件间传值
前言 Vue 作为现在比较火的框架之一,相信您在使用的过程中,也会遇到组件间传值的情况,本文将讲解几种 Vue 组件间传值的几种方法,跟着小编一起来学习一下吧! 实现 注意: 学习本文,需要您对 Vu ...
- react组件间传值详解
一.父子组件间传值 <1>父传子 父组件:
- Angular中不同的组件间传值与通信的方法
主要分为父子组件和非父子组件部分. 父子组件间参数与通讯方法 使用事件通信(EventEmitter,@Output): 场景:可以在父子组件之间进行通信,一般使用在子组件传递消息给父组件: 步骤: ...
- React Native 系列(五) -- 组件间传值
前言 本系列是基于React Native版本号0.44.3写的.任何一款 App 都有界面之间数据传递的这个步骤的,那么在RN中,组件间是怎么传值的呢?这篇文章将介绍到顺传.逆传已经通过通知传值. ...
- Vue组件间传值 v-model
使用过Vue的同学应该都了解组件之间传值 父组件 --> 子组件 : props 子组件 --> 父组件 : 事件 其实有一种更为简单的方法,是基于上述两种方法,那就是 v-model 我 ...
- vue——父子组件间传值
(1)父组件给子组件传值(商品详情页): 根据订单类型,判断显示立即购买/立即拼单: 通过props来传递参数 父组件(商品详情页) 父组件调用子组件,在子组件的标签中,通过:数据名称=”数据”的形式 ...
- vue组件间传值详解
1.父传子----传值要点: <1> 在组件注册的时候必须要使用 return 去返回 data对象;
- taro 填坑之路(二)taro 通过事件监听 实现组件间传值
1.组件传值的方式 2.事件监听原理 3.事件管理器 utils/event.js /** * 事件池(事件管理器) * 通过事件监听传值 */ class Event { constructor() ...
随机推荐
- MYSQL 简单验证
建立测试表 create table test001 (a varchar(2000),b varchar(2000),c varchar(2000),d varchar(2000),e varcha ...
- 【dp,建模】AGC032D Rotation Sort
Problem Link 有一个长为 \(n\) 的排列 \(p\),给定 \(A,B\),你每次可以做以下两种操作之一: 选取 \(l,r\),将 \(p[l:r]\) 循环右移,代价为 \(A\) ...
- 当爬虫工程师遇到 CTF丨B 站 1024 安全攻防题解
答案参考 第一题:a1cd5f84-27966146-3776f301-64031bb9 第二题:36c7a7b4-cda04af0-8db0368d-b5166480 第三题:9d3c3014-6c ...
- TienChin 渠道管理-前端展示渠道信息
在编写 Vue 项目的时候我们可以使用 IDEA 当中提供的一个工具叫做 structure,也就是说可以很轻松的列举出当前 Vue 文件的大致结构,点那个就会跳转到对应的地方. 简简单单介绍一个编写 ...
- paddle之visualDL工具使用,可视化利器。
相关链接: [一]AI Studio 项目详解[(一)VisualDL工具.环境使用说明.脚本任务.图形化任务.在线部署及预测]PARL_汀.的博客-CSDN博客 isualDL 是一个面向深度学习任 ...
- 强化学习基础篇【1】:基础知识点、马尔科夫决策过程、蒙特卡洛策略梯度定理、REINFORCE 算法
强化学习基础篇[1]:基础知识点.马尔科夫决策过程.蒙特卡洛策略梯度定理.REINFORCE 算法 1.强化学习基础知识点 智能体(agent):智能体是强化学习算法的主体,它能够根据经验做出主观判断 ...
- 麒麟系统升级openssh至9.5p1
当前环境: 升级openssh需要三个包zlib-1.2.13.tar.gz.openssl-1.1.1t.tar.gz.openssh-9.5p1.tar.gz 下载地址: zlib-1.2.13. ...
- Hadoop组件兼容性
(1)HBase和Hadoop.zookeeper.JDK兼容版本 参考网址: https://hbase.apache.org/book.html 1)JDK和Hbase的兼容版本 对于JDK,最 ...
- MaxCompute(ODPS)和Hive的区别
Hive概述 架构于Hadoop之上,可以将结构化的HDFS文件映射成一张表,并提供了类似于SQL语法的HQL查询功能. 核心本质:将HQL语句转换成MapReduce任务. Hive的优缺点 优点 ...
- 【scikit-learn基础】--模型持久化
模型持久化(模型保存与加载)是机器学习完成的最后一步.因为,在实际情况中,训练一个模型可能会非常耗时,如果每次需要使用模型时都要重新训练,这无疑会浪费大量的计算资源和时间. 通过将训练好的模型持久化到 ...