创建:
一般在store中创建文件,并且在main.js中引入注册。
main.js
和router挂载的位置一样,都在vue的实例中
import stroe from ‘stroe的文件位置’
new Vue({ store })
stroe中的index.js
如果数据量比较少,就可以直接在这里写数据 以及方法。
`
export default new vuex.stroe({
state:{在这里写需要共享额数据
},
getters{
在这里写计算属性,接收state数据
reture计算后的值
},
mutations{在这里写同步的方法,函数接受的第一个参数是state的数据
},
actions{在这里 写异步的方法,函数接受的第一个参数是 同步方法的方法名字} )`
如果数据量比较大,需要分模块:
再建一个文件夹好区分 model
在modules中写建立各个模块,比如:
在modules下新建 soha.js
const state={
};
const getter={
};
const mutations={
};
const actions={
},
export default{
namespaced: true, (这个的作用是为了区分名字,调用的时候得加上文件名)
state,
getter,
mutations,
actions
}
在index中挂载:
import soha from ‘soha文件的位置’
new vuex.state({
modules:{
soha
}
})
调用:
一般全局调用 store.state.数据
调用模块的数据及方法:
import { mapState, mapMutations, mapActions } from 'vuex';
computed:{
...mapState{‘soha’,[数据名]}
},
metheds:{
...mapMutations{'soha',[方法名]}
...mapActions{'soha',[方法名]}
}
以上是我理解的。。。