Vuex——状态机的属性

{

    //状态存储的位置

    state:{

        msg:'hello'

    },

    getters:{

        //获取 可以获取到state中的数据进行处理再输出--派生自state

        msgUpper(state){

            msgUpper(state){

                return state.msg.UpperCase()

            }

        }

    },

       //突变 同步操作 唯一修改state数据的一种方式--就是用来修改state数据的

    mutations:{

         // 默认传递state,类似于事件event payload载荷 形参

        changeMsg(state,payload){

            state.msg=payload

        }

    }

    //动作 可以放异步

    actions:{

        //sto是一个类似仓库对象的对象 payload传递的参数

        getAll(sto,payload){

            假设通过异步请求之后向后台获取到了res,要设置到state中,修改state只能通过mutations提交突变

            let res=[];

            //提交突变

            //第一个参数是触发突变的事件名称 第二个参数是获取到的后台数据

            sto.commit('changMsg',res);

            //分发动作

            //第一个参数是分发动作的事件名称,第二个参数是要传递的数据

            sto.dispatch('getAll',[])

        }

    }

}

你可能感兴趣的:(html5,javascript,html)