如何在vue组件中使用vuex?

时间:2017-11-04 22:59:30

标签: vue.js vuex

我有一个vuex示例项目:

app.vue:

<template>
    <div>{{message}}</div>
</template>

<script>
import store from "./app.store.js";

export default {
    computed: { message: () => store.message }
}
</script>

app.store.js:

import Vue from "vue";
import Vuex from "vuex";

Vue.use(Vuex);

const state = { message: "Hello World" };
const getters = { message: state => state.message };
const store = new Vuex.Store({ state, getters });

export default store;

{{message}}占位符替换为空字符串而不是&#34; Hello World&#34;。如何在vue组件中使用vuex?

1 个答案:

答案 0 :(得分:7)

首先,确保在Vue实例中包含商店,如:

new Vue({ el: '#app', store });

此外,在计算属性中,不要直接访问商店(尽管完全没问题),请使用您创建的getter。

现在,当您在Vue实例中注入商店时,它会自动供所有子组件使用 - 这意味着您不需要导入它,而只需在组件中使用它:

computed: { return this.$store.getters.message }

您可以阅读有关here主题的更多信息。