vue状态管理存取数据_vue-状态管理

原理

场景:打算开发中大型应用

特点: 集中式数据管理, 一处修改,多处使用

思维:

store

this.$store.commit('increment')-> mutations

this.$store.dispatch('jia')-> actions

mapActions() ->actionsmapGetters()->getters

学生代课老师校长 财务 版主任学生

components - > actions-> mutations -> state

发送请求 处理修改状态

业务逻辑修改state 读取state

异步

state

安装 安装包 npm i vuex -s

引入 import vuex from 'vuex

安装插件 Vue.use(vuex)

注册到根 new Vue({store})

803e146dbf8353cf9e601429f3a5519e.png

2e00df0199d0f79f1caafb1cb6a0dd1e.png

①store.js

引入vue和vuex

实例store对象

let store =new

②main.js注册到根

③在store.js引入actions,mutations,getter,state,写在实例内作为对象

④各个模块单独的js文件内部暴露export

e927e3089dd964a7c71d0fc722d4c930.png

a8476cd653732627b17e9a909f71ebe4.png

8df8c3bf0ab79025d4495de86f4376a3.png

案例,点击让数字从0++

把 mapActions,mapGetters 引入把想action请求的方式写在methods内,然后去往actions

vuex


import vuex from 'vuex'

// console.log(vuex) //vuex={store,mapActions,mapGetters}

// 解构赋值

// import varname from {}

// let varname={}

// let {a,b}={a:1,b:2}

// a→1

// b→2

import {mapActions,mapGetters} from 'vuex'

export default {

data() {

return {

count:0

}

},

methods: {

jia(){

// console.log(this.$store)

// console.log(mapActions,mapGetters)

// this.$store.dispatch(请求类型,负载,配置)

this.$store.dispatch('jia',1)

}

},

}

0fa74ca43615c877813583bf289abcf1.png

a119aaeae513f5738277ac83512c4630.png

9d9ff5b641dda10bf5f8e0e0656d2dd4.png

最后完成,如果想直接从state拿数据就在app.vue的

{{this.$store.state.count}}

5117000a7b28529f7caa4c3d7e2eae65.png

2、上面是comonent直接从state拿的数据,没有通过getters,下面通过getters拿数据

b849a354956d746a7a89ecca9fa5da5d.png

042c33fc378482855c9062a1a07b89d9.png

3、在2里面虽然通过getters拿数据,但是没有用mapActions

在template模板中是

methods: mapActions(['jia']),

引用types后

7094209c06c233604463bd89da5e0aad.png

7f9f08ccb6a52aea112c0573bd573e69.png

ea0ffa26326237f3ee625d3bd0236758.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值