如何让我的 Vuex 状态在我的 laravel 5.4 应用程序中初始化
How can I get my Vuex state to initialise within my laravel 5.4 application
我正在为一个应用程序使用 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 实例已加载到我的浏览器中。
但是,当我尝试访问商店中的数据时,出现 "Cannot read property of defined" 错误。看来我的状态还没有定义。
我在这上面花了好几个小时,只是无法全神贯注。谁能帮帮我,告诉我哪里做错了。
这就是我在组件中访问它的方式。
<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>
当箭头语法与方法一起使用时,this
的值不是 component instance
,因此 this.$store
将是未定义的。
methods: {
testStore: () => {
console.log(this.$store.getters.getTest); // `this` is window object here.
}
},
为了避免使用箭头语法声明方法
methods: {
testStore() {
console.log(this.$store.getters.getTest);
}
},
我正在为一个应用程序使用 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 实例已加载到我的浏览器中。
但是,当我尝试访问商店中的数据时,出现 "Cannot read property of defined" 错误。看来我的状态还没有定义。
我在这上面花了好几个小时,只是无法全神贯注。谁能帮帮我,告诉我哪里做错了。
这就是我在组件中访问它的方式。
<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>
当箭头语法与方法一起使用时,this
的值不是 component instance
,因此 this.$store
将是未定义的。
methods: {
testStore: () => {
console.log(this.$store.getters.getTest); // `this` is window object here.
}
},
为了避免使用箭头语法声明方法
methods: {
testStore() {
console.log(this.$store.getters.getTest);
}
},