Vue学习笔记:Vuex
vue create vue_demo
cd vue_demo
npm i vuex
npm run serve
import Vuex from 'vuex'
Vue.use(Vuex)
创建store实例
const store = new Vuex.Store({ state: { count: 0 }, mutations: { increment (state) { state.count++ } }, action:{ increment({commit}) { setTimeout(()=>{ commit('increment') }, 3000) } } })
组件
<template>
<div id="app">
{{count}}
</div>
<button @click="$store.commit('increment')">click</button>
<button @click="$store.dispatch('increment')">click</button>
</template>
Script
export default{ name:"app", conputed:{ count(){ return 0; } } }
Vuex底层原理及核心概念
Vuex实践
使用常量代替Mutation事件类型Vuex实践
//mutation-types.js export const SOME_MUTATION = "SOME_MUTATION" //store.js import Vuex from 'vuex' improt {SOME_MUTATION} from './mutation-types' const store = new Vuex.Store({ state :{…}, mutations:{ [SOME_MUTATION](state){ //mutate state } } }
Module