当前位置: 首页 > 工具软件 > astore > 使用案例 >

vuex报错,[vuex] must call Vue.use(Vuex) before creating a store instance.

林承悦
2023-12-01

使用前需要Vue.use(vuex)而不是Vue.use(new Vue.Store({}))这个对象,原因是,在Vue中使用插件需要先通过插件的install方法,把插件注入到Vue,才能使用该方法。

那和new Vue({})里面 有什么不一样呢,写到new Vue({})里的属性会被注册为全局属性,就像let store = new Vuex.Store({count:0}),那么new Vue({store}),就会被注册为$store这种全局属性,如果只是vue.use()中注册,就只能是通过导出来的函数名去使用该插件。

vue.use的参数是对象或者是函数,如果是对象,就会调用对象的install方法来注入插件,比如我写了一个组件,Vue.component(“icon”,‘333’)在对象的install方法中,那么,我用Vue.use的时候虽然也是注册在全局中,但是,这时候全局的这个组件是 Icon直接是原名调用的

   要谦虚:
new Vue({})是处理了这个插件的全局的名字

   要谦虚:
在前面加了个$

   要谦虚:
符号

   要谦虚:
比如路由

   要谦虚:
this.$router

   要谦虚:
比如vuex的store注册之后,变成了

   要谦虚:
this.$store

   要谦虚:
本来就是$api

 类似资料: