<script>
/*
state
保存了组件的数据
如果想要在组件中使用msg这个数据,最简单的
直接
模板中{{$store.state.msg}}
函数中this.$store.state.msg
想要好看,则
computed: {
msg () {
return this.$store.state.msg // 其他地方就可以直接使用msg
}
}
getter 在组件中使用时和state方法类似,要把state改成getters
想要使用reverseMsg
直接
模板中{{$store.getters.reverseMsg}}
函数中this.$store.getters.reverseMsg
想要好看,则
computed: {
reverseMsg () {
return this.$store.getters.reverseMsg
}
}
mutation
mutation是一个函数,它的作用就是修改state,而且修改state只能通过这一个方式
我们如果想要在组件中对某个数据进行修改,则,直接提交对应的mutation即可
this.$store.commit('setMsg', '相关数据')
因为mutation要改变state,所以在mutation中有参数state和载荷payload
action
用法类似于mutation
一、给mutation传值需要commit
这是接受的操作
{
mutations: {
mutation函数 (state, payload) {
// 因为mutation改变的是state中的值,所以我们参数中有一个state方便我们快速改变对应的值
// payload接收commit处传递过来的数据
}
}
}
组件函数中提交mutation,就是给mutation传值
{
methods: {
函数 () {
this.$store.commit('mutation函数', 数据)
}
}
}
二、给action传值需要dispatch
this.$store.dispatch('action名字', 数据)
因为mutation是同步修改state,所以参数中有state
但是action是异步获取数据,获取后的数据想要修改到state,因此action中一定要提交mutation去修改state,所以在action的函数中有参数context,这个context就是一个store
如果想要提交,则context.commit('mutation中的函数名',传的值)
*/
const store = new Vuex.Store({
state: {
msg: '数据'
},
getters: {
reveseMsg () {
return msg.split('').revese().join('')
}
},
mutations: {
setMsg (state, payload) {
state.msg = payload
}
}
})
<!--
Vuex中常用的就
state mutations actions
如果我们想要在页面中渲染一些数据时,那么我们就可以把数据放在state中 state
如果我们要操作页面元素修改数据时,那么我们就要在事件处理函数中this.$store.commit('mutation') 提交mutation 让mutation去修改
如果我们要操作页面元素获取新的数据时,那么我们就要在事件处理函数中this.$store.dispatch('action') 然后在请求数据成功的时候,让action去commit('mutation') 然后mutation修改数据
action中的代码只涉及到,请求数据 提交mutation
mutation 只涉及到修改state
组件中设置到提交mutation或者分发action
-->
</script>
vuex
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Vuex是什么? Vuex是一个专门为Vue.js应用程序开发的“状态管理模式”。它采用集中储存管理应用的所有组件...
- 因为ie不支持es6的Promise解决方法是安装npm install --save babel-polyfil...
- 先说两句 官方已经有教程了,为什么还要写这个教程呢?说实话,还真不是我闲着蛋疼,官方的教程真的是太官方了,对于刚入...
- 先说两句 上一讲 「Vuex 到底是个什么鬼」,已经完美诠释了 Vuex 的牛逼技能之所在(纯属自嗨)。如果把 V...