store.dispatch和this.$store.dispatch的区别?

store.dispatch和this.$store.dispatch实际上是指向同一个Vuex的dispatch方法,只是在调用时的方式略有不同。


store.dispatch是在Vue实例之外直接使用的,一般用于非组件模块中,例如在一个独立的JavaScript文件中。
例如,在一个名为store.js的文件中,你可以直接使用store.dispatch来触发一个action,如下所示:

import store from './store'

store.dispatch('login', { username: 'example', password: 'password' })

this.$store.dispatch是在Vue组件中使用的方式,用于在组件内部触发Vuex的action。
在Vue组件中,你可以通过this.$store.dispatch来触发action,如下所示:
 

export default {
  methods: {
    loginUser() {
      this.$store.dispatch('login', { username: 'example', password: 'password' })
    }
  }
}

通过this.$store.dispatch可以轻松访问绑定在该组件的Vuex store,并触发相应的action。


综上所述,store.dispatch和this.$store.dispatch实际上是指向同一个Vuex的dispatch方法,只是在调用时的语法稍有不同,前者在Vue实例外使用,后者在Vue组件内部使用。

你可能感兴趣的:(前端——零碎的小知识碎片,vue.js,前端,javascript)