Vuex的了解

1.vuex的用途和概念

vuex是专门用来管理vue.js应用程序中状态的一个插件。他的作用是将应用中的所有状态都放在一起,集中式来管理。里面的数据可以被所有组件使用,也就是共享资源。需要声明的是,这里所说的状态指的是vue组件中data里面的属性。


2.vuex里面的都有什么方面

1.state:

   vuex的基本数据,用来储存变量的。

2.getters:

   vuex里面的计算属性,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。

3.mutation:

   提交更新数据的方法,必须同步。每个mutation都有一个字符串的事件类型和一个回调函数。回调函数就是我们实际进行状态更新的地方,并且它会接受state成为第一个参数,第二个是vue组件中穿过来的值

4.action

   和mutation的功能差不多,但是有不同之处:

   1.action提交的是mutation,而不是直接更改状态

   2.action可以包含异步操作

5.modules:

   模块化vuex,可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰,管理更为方便。

3.vuex中的映射方法

    映射方法用的属性又称为四大金刚:

    是mapState、mapMutations、mapActions、mapGetters

    这四个单词对应这vuex中State、Mutations、Actions、Getters,利用四大金刚可直接调用这几个板块中的内容

    四大金刚的使用方法就是:

import { mapState } from 'vuex'

computed: {
	// 第一种书写形式:想用哪一个数据,直接使用 ...mapState 映射出哪一个数据就好
	...mapState(['data2', 'data1', 'data'])
	// 第二种书写形式:以对象的形式映射进来,可以在自己的组件中起一个别名,template页面可直接使用 a 进行渲染
  	...mapState({
  		a: 'data2',
  		data1: 'data1'
  	})
}

// 第三种书写形式:直接把整个 mapState 给到了 computed。不能再用计算属性去做别的事情了
computed: mapState(['data1', 'data2', 'data']),

// 第四种书写形式:不能再用计算属性去做别的事情了
computed: mapState({
    data: 'data',
    data1: 'data1',
    a: 'data2'
})

 4.可持久化插件

    当我们的数据被储存到vuex中的时候,我们刷新页面有时候不想让数据被刷新,就会使用一个拆件,将vuex中的数据放到本地存储中,实现持久化

      一、安装插件:

              cnpm i vuex-persist --save

      二、引入:

               store下index.js引入import vuexPersist from “vuex-persist”

      三、配置插件

//在vuex中写

  plugins:[
        new vuexPersist({
            storage: window.localStorage 
          }).plugin,
]

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值