我正在尝试通过vux和vuetify学习vue。我已经通过vue cli安装了它。
就像在文档中一样,我尝试访问商店,但是对此没有定义。$存储。
src / components / HelloWorld.vue
<script>
export default {
methods: {
onChangeTheme: () => {
console.log(this.$store)
}
}
};
</script>
src / main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import vuetify from './plugins/vuetify';
Vue.config.productionTip = false
new Vue({
router,
store,
vuetify,
render: h => h(App)
}).$mount('#app')
src / store.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
},
mutations: {
},
actions: {
}
})
答案 0 :(得分:1)
请勿在options属性或回调函数上使用箭头功能,例如created: () => console.log(this.a)
或vm.$watch('a', newValue => this.myMethod())
。由于箭头函数没有this,因此它将被视为任何其他变量,并在父作用域中进行词汇查找,直到找到为止,这通常会导致错误,例如Uncaught TypeError:无法读取undefined或Uncaught TypeError:this.myMethod不是功能。
这是here的说明。