【发布时间】:2017-03-14 06:07:24
【问题描述】:
我正在为应用程序使用 Laravel 5.4 和 Vuex 2.2.1。我有一个包含以下代码的 store.js 文件。
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export const store = new Vuex.Store({
state: {
testing: 0
},
getters: {
getTest: state => {
return state.testing + 1;
}
}
});
我有一个主 js 文件(laravel 5.4 附带的那个),它有以下内容。我在这里传递 Vuex 实例
require('./bootstrap');;
import VueRouter from 'vue-router';
import { routes } from './routes.js';
import { store } from './libs/store';
Vue.component('fd-auth', require('./components/Auth.vue'));
Vue.component('fd-app', require('./components/App.vue'));
Vue.use(VueRouter);
const router = new VueRouter({
routes: routes,
mode: 'history'
});
const app = new Vue({
el: '#app',
router: router,
store
});
我可以看到 Vuex 实例已加载到我的浏览器中。
但是,当我尝试访问商店中的数据时,我收到“无法读取已定义属性”错误。看来我的状态仍未定义。
我已经花了几个小时在这上面,只是无法理解它。有人可以帮助我并告诉我我做错了什么。
这就是我在组件中访问它的方式。
<script>
import RevealVisitor from './modals/VisitorReveal.vue';
export default{
data: () => {
return {
storeapp: 'mowgli'
}
},
methods: {
testStore: () => {
console.log(this.$store.getters.getTest);
}
},
components: {
'fd-reveal-visitor': RevealVisitor
}
}
</script>
【问题讨论】: