Vuex简单入门实例

  对很多想入门Vue的新人来说,经常看到那个大神开源的dome,什么全家桶的,Vuex看上去是个高大上的东西。官方文档解释的很专业化,简单说就是不通俗。对我们这些小白来说就是很难一下子理解。

  这篇是作者学习小记,如有什么错误的地方,还请不吝赐教!

  Vuex是状态管理模式,这个怎么理解呢?

  首先,Vuex是为了处理复杂数据逻辑而开发出来的,目的当然是为了数据,而这数据是共享的,不通过的模块可能需要不同或者相同的数据。那么我们就需要得到不同状态下的数据。

  我们知道Vuex有四大模块state、getters、mutations、actions,他们就是管理不同的数据状态信息。

  state: 存储初始化数据,可以自定义数据,可以看做初始状态;

  getters: 从state中获取想要的数据,而mutations对数据的操作都是基于它的,可以看做数据提取状态;

  mutations: 对getters中的数据进行所需处理,即可以对其重新赋值,触发它需要使用commit方法,可以看做待处理状态

  actions: 使用commit方法,异步触发mutations的函数进行数据的赋值和更新,可以看做待触发状态

  一、接下来上代码:

  项目结构(截取)(手脚架):

  

  二、首先需要安装vue 和 vuex

  store/index.js

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

    Vue.use(Vuex)

    const store = new Vuex.Store({
        // 首先声明一个状态 state,初始化状态
        state: {
            count: 0
        },

        // 获取数据状态信息
        getters: {
           count: state => state.count
        },

        // 对获取的数据状态进行相应的处理,可传参,处理的后的数据状态会返回给getters,待处理状态
        mutations: {
            increment (state, m) {
                state.count += m
            },
            decrement (state, n) {
                state.count -= n
            }
        },


        // actions 注册并触发处理函数,可以传参,当这个函数被触发时,将状态提交到mutations中处理, 正在处理状态
        actions: {
            increment: ({commit}, m) => commit('increment', 5),  //在actions中一般做数据请求,再使用commit方法,这里直接赋值写死
decrement: ({commit}, n)
=> commit('decrement', 3) } }) // 将store 暴露出去 export default store

  三、main.js中,注意加上全局store,  store导入时简写注意看项目结构

  

  四、作者使用的手脚架自动构建的,所以router直接配置到了组件hello,我直接在hello组件中输出数据。

  hello.vue中

  

  五、最后编译运行如下:

  

转载于:https://www.cnblogs.com/cp-cookie/p/7809701.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然!下面是一个简单的示例,展示了如何设置和使用 Vuex Store。要使用 Vuex,你需要先安装 Vuex 库。 首先,确保你的项目中已经安装了 Vuex。你可以通过以下命令使用 npm 安装 Vuex: ``` npm install vuex ``` 安装完成后,在你的应用程序的入口文件(通常是 `main.js`)中引入 Vuex,并创建一个新的 Vuex Store 实例: ```javascript import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = new Vuex.Store({ state: { count: 0 }, mutations: { increment(state) { state.count++ } }, actions: { increment(context) { context.commit('increment') } }, getters: { getCount: (state) => { return state.count } } }) // 将 store 注入到根实例中 new Vue({ store, // ... }).$mount('#app') ``` 在上面的代码中,我们首先引入了 Vue 和 Vuex。然后,我们使用 `Vue.use(Vuex)` 方法来安装 Vuex 插件。 接下来,我们创建了一个新的 Vuex Store 实例,其中包含了状态(state)、变更(mutations)、动作(actions)和获取器(getters)。 - `state`:存储应用程序的状态数据。 - `mutations`:用于同步更改状态数据的方法。 - `actions`:用于处理异步操作和触发 mutations 的方法。 - `getters`:用于从 store 中派生出一些状态。 最后,我们将创建的 store 注入到根 Vue 实例中,这样就可以在整个应用程序中访问和使用该 store。 现在,你可以在组件中通过 `this.$store` 访问 Vuex Store,并使用 `this.$store.state` 来获取状态,使用 `this.$store.commit('mutationName')` 来触发 mutation,使用 `this.$store.dispatch('actionName')` 来触发 action,使用 `this.$store.getters.getterName` 来获取 getter 的值。 希望这能帮助你入门 Vuex!如果有任何疑问,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值