美文网首页
Vuex状态管理

Vuex状态管理

作者: 冬天吃橘子_Autumn | 来源:发表于2019-06-19 01:25 被阅读0次

Vuex是一个专门为Vue.js应用程序开发的状态管理模式

使用方法:

  1. 使用vuex插件

    import Vue from 'vue'
    import Vuex from 'vuex'
    Vue.use(Vuex)
    
  2. 创建一个Store实例

    const store = new Vues.State({
        state: {
            //状态,类似于vue的data,但是数据不能修改
        },
        mutations:{
            //类似于事件,同步事件
        },
        actions:{
            //异步操作,之后
        }
    })
    
  1. vuex的一些规则:

    • 提交mutations是更改状态的唯一方法,并且这个过程是同步的

    • mutation 必须是同步函数

    • 异步逻辑都应该封装在actions里面,但是actions不能直接更改state里面的数据,只能通过mutations里面的方法来修改state里面的数据

    • Vuex中的store是响应式的,当状态发生变化时,监视状态的Vue组件也会自动更新

    • 当需要在对象上添加新的属性时,应该使用Vue.set

      Vue.set(obj,'newProp','123')
      
  1. 在mutations中如何获取state中的数据?

    • mutations非常类似于事件:每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)

    • 我们可以在回调函数中进行对state中数据修改的操作,接收state作为第一个参数,其余参数可从第二个参数开始

    • 用state.XXX来访问state中的数据

      const store = new Vuex.Store({
          state:{
              count:1
          },
          mutations:{
              create(state, num){
                  state.count += num 
              }
          }
      })
      
  2. 触发mutation中的方法?

    • mutations里面的 handler并不能直接被调用,这个选项更像是事件注册:当触发一个类型type为 XXX 的 mutation 时,调用此函数handler

    • 要唤醒一个 mutation handler,需要以相应的 type 调用 store.commit 方法:commit

      store.commit('create',100)
      //或者:
      store.commit({
          type:'create',
          num:100
      })
      
  3. 在Vue组件中如何获取Vuex状态?

  4. 在组件中提交mutations状态

    //应该提前在组件中注入vuex,跟router是相似的
    this.$store.commit('create',100)
    
  5. 在actions中触发mutation中的方法

    actions: {
      increment ({ commit }) {
        commit('create')
      }
    }
    
  6. 分发 Action

    Action 通过 store.dispatch 方法触发:

    store.dispatch('increment')
    //在组件中分发action
    this.$store.dispatch('increment')
    

相关文章

  • Vuex状态管理模式

    Vuex是什么? Vuex是一个专为Vue.js应用程序开发的状态管理模式Vuex是全局的状态管理 Vuex用来做...

  • Vue知识总结(2)

    Vuex状态管理 Vuex是专门为Vue应用程序提供的状态管理模式,每个Vuex应用的核心是store(仓库),即...

  • vuex二次总结

    Vuex状态管理 每个Vuex应用的核心是store(仓库)Vuex是专门为Vue应用程序提供的状态管理模式,每个...

  • Vue2技术栈归纳与精粹(下篇)

    Vuex状态管理 Vuex是专门为Vue应用程序提供的状态管理模式,每个Vuex应用的核心是store(仓库),即...

  • vuex状态管理:vuex

    什么是vuex? vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组...

  • 15-Vuex基础

    Vue之vuex状态管理 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。 这个Vuex包含以下几...

  • Vue学习笔记(三)

    一. 状态管理 Vuex 1. Vuex使用 Vuex是一个专为 Vue.js 应用程序开发的状态管理模式。它采用...

  • vuex

    Vuex介绍: Vuex官网:http://vuex.vuejs.org/ Vuex是实现数据状态管理的技...

  • vuex基础

    1.vuex是什么? 状态管理模式,集中式存储管理,多组件需要共享状态时使用vuex 1.1状态管理模式 单个组件...

  • vueX是什么?

    官方解释:Vuex时一个Vue.js应用程序开发的状态管理模式 状态管理是什么? 管理什么状态呢? vueX实例格...

网友评论

      本文标题:Vuex状态管理

      本文链接:https://www.haomeiwen.com/subject/lsmcqctx.html