vuex中为什么组件里的方法可以直接修改state变量?

各位大侠,我在学习vuex教程中看了一个文章,https://www.wandouip.com/t5i1...
上面写到:
image.png
为什么他在这里直接在组件中就修改state数据啊?教程上不是说要靠matution或者actions才能修改state的指么?
此外,如何理解actions的作用,教程说是异步?请问这个异步是ajax异步的意思么?

阅读 4.6k
2 个回答

action 是可以等待异步操作并返回的作用。跟AJAX的异步一样。比如有个需求是:请求到服务端数据在进行matution赋值。那么我们就可以把请求写到actions中进行异步操作。

this.$store.dispatch('getData')
.then(res => {
    this.$store.commit('setData', res.data)
})

例子中只是通过计算属性获取state中的值,并没有对此进行修改操作

this.$store.state.listItemsOut = ['11', '22', '33']

这才是直接修改state中的值,这是不允许的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题