Vuex: 从组件直接跳过操作并直接提交突变
- 论坛
- Vuex: 从组件直接跳过操作并直接提交突变
13 浏览
Vuex: 从组件直接跳过操作并直接提交突变
在vue.js应用中,使用vuex作为状态管理存储,我需要简单地更改vuex中属性的值。为此,我可以遵循两种方法:
- 调用一个
action
方法,该方法将进一步提交mutation
,最终更改状态。 - 第二种方法是直接从组件中提交
mutation
,然后mutation
方法将更改状态。
目前,我正在使用第一种方法,如下所示:
在组件中:
this.$store.dispatch('updateNotice', '这是一条通知')
在Actions中:
updateNotice ({state, getters, commit}, payload) { commit('UPDATE_NOTICE', payload) }
在Mutations中:
UPDATE_NOTICE (state, payload) { state.notice = payload }
正如你可能已经注意到的,我只是简单地使用action
方法来提交一个单一的mutation,没有其他逻辑或异步功能。
我的问题是,在这种情况下,我是否不应该直接从组件中提交mutation?什么是最佳实践?因为在这种简单的情况下使用action
方法似乎冗长且没有特定目的。
从组件中总是需要commit
actions的原因是什么?
毕竟,在vuex中...mapMutations()
有一些存在的原因。