Vuex

作者: 真的吗_a951 | 来源:发表于2018-10-11 23:49 被阅读0次

    store

    用来管理状态,共享数据,在各个组件之间管理外部状态

    流程:view-->action-->mutations-->state-->view

    传递数据

    使用vuex传递数据
    需要先安装vuex (npm insatall vuex)
    1.在main.js中引入Vuex ,并通过use使用它

        import Vuex from 'vuex'
        Vue.use(Vuex)
    

    2.创建状态仓库

        var store = new Vuex.Store({
          state:{
                //要共享的数据
                num: 99
          }
    })
    
    1. 通过this.$store.state.num直接拿到需要的数据

    改变状态(mutations) 可以像router一样创建一个新的文件使代码模块化

    • 第一种方法 (mutation)
      1.在状态仓库里面创建mutation改变状态函数
        mutations: {
            函数名(state){}//参数是state
    }
    

    2.在组件上添加调用事件
    this.$store.commit('mutation的函数名')
    注意commit里面的函数名必须用引号包裹

    • 第二种方法(action)
      actions 只能对mutation进行操作
    actions:{
        事件名: function(context){//参数是context
            return context.commit('  ')
        }
    }
    
    1. 在组件上添加调用事件
      this.$store.dispatch(' ')

    对比:
    mutations参数是state,action参数是context
    action可以异步操作,mutations只能同步操作


    • getters选项
      通过getters创建函数管理状态
      1.在状态管理里添加getters
    getters:{
        函数名(){
            处理函数
        }
    }
    

    2.组件上调用
    this.$store.getters.函数名

    相关文章

      网友评论

          本文标题:Vuex

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