Vuex组件数据共享

组件之间共享数据的方式

  • 1.父向子传值 v:bind绑定数据, props接收
  • 2.子向父传值 :父组件 v-on事件绑定,子组件用this.$emit()接受
  • 3.兄弟之间共享数据 全局的EventBus,挂载 vue的原型上 $emit发送数据的那个组件,$on接收数据的那个组件
  • 4.祖先和后代相互传参 :祖先要使用provide方法传参,后代使用inject属性接受祖先中的参数,
  • 5.vue实例属性传参(parent、children[n]、root、refs)
  •  +$parent 获取父元素的数据/方法  获取父元素的整个vm实例
  •  +$children  获取子元素的数据/方法(mounted钩子函数,要有下标)
  • +$root获取根组件的数据/方法
  • $refs:this的子元素中需要定义ref属性:比如ref=

 如果ref定义在DOM标签中==:this.$refs.xxx获取的是DOM对象

 如果ref定义在子组件标签中==:this.$refs.xxx获取的是子组件的vm实例

Vuex是什么?

Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的共享

Vuex 使用单一状态树——是的,用一个对象就包含了全部的应用层级状态。至此它便作为一个“唯一数据源“而存在。这也意味着,每个应用将仅仅包含一个 store 实例

使用Vuex统一管理的好处?

  • 1.能够在vuex中集中管理共享数据,易于后期开发和维护
  • 2.能够高高效的实现组件之间的共享,提高开发效率
  • 3.存储在vuex中都是响应式的能够实时保护,数据与页面的同步

什么样的数据适合存储在vuex中?

一般情况下,只有组件之间共享数据才有必要存储到vuex中,对于组件的私有数据,依旧存储在组件自身的data中即可,

vuex的作用?

1、vuex是专为Vue.js应用程序开发的状态管理模式(集中式存储)--->公共仓库

2、缓存 keep-aliv

  • vuex:不刷新,不关闭页面,就会保存以前的数据,刷新就不存在数据
  • sessionStorage:会话存储,刷新有数据、关闭页面没有数据
  • localStorage:本地存储,刷新有数据、数据永久

vuex:“单向数据流”理念

  • state,驱动应用的数据源;
  • view,以声明方式将 state 映射到视图;
  • actions,响应在 view 上的用户输入导致的状态变化

 vuex的异步函数执行的过程:

vuex的基本使用

1.安装vuex依赖包

npm install vuex --save

2.导入vuex包

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

3.创建store对象

import Vue from 'vue'
import Vuex from 'vuex
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端 贾公子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值