get: ()=>state 和get: ()=>{state}
写Vue,设置全局方法的时候总是报错,提示找不到变量,
报错的设置方式:
设置user,在state.js里设置变量:
export default{user: null,
}
在plugins里设置插件:
export default{install(Vue, state){Object.defineProperty(Vue.prototype, '$state', {get: ()=>{state}})}
}
在main.js里导入:
...
import VueFetch from './plugins/fetch.js'
import state from './state.js'
...Vue.use(VueState,state);new Vue({...data: state,...})
不管怎么访问this.$state都显示undefined,
排查了半天,最后发现是get方法写错了,简而言之,用get: ()=>state这个语法,返回的是整个state对象,但我写的是get:()=>{state},放在大括号里,就是相当于{state},没有返回值,
改成get: ()=> state或者()=>{ return state}就好了